Automatic laser bar code symbol reading system and method of reading bar code symbols using same

ABSTRACT

Method and apparatus for automatically reading bar code symbols is disclosed. One aspect of the present invention concerns a method of reading bar code symbols using an automatic hand-holdable bar code symbol reading device. In general, the automatic bar code symbol reading device comprises a hand-holdable housing containing operative elements which provide an object detection field and a scan field each defined external to the housing. The method involves automatically detecting the presence of an object within the object detection field by sensing object sensing energy reflected off the object. In a preferred embodiment, the object sensing energy is IR radiation produced from an object sensing energy source disposed within the housing. In automatic response to the detection of the object within the object detection field, the hand-holdable device detects the presence of a bar code within the scan field using a laser beam produced within the housing. Then, in automatic response to the detection of a bar code in the scan field, the automatic hand-holdable bar code symbol reading device reads the detected bar code in the scan field by producing scan data signals from the detected bar code and thereafter collecting and analyzing the same. Another aspect of the present invention concerns a hand-holdable data collection device adapted for use with the automatic bar code symbol reading device to form a portable symbol reading system characterized by versatility and simplicity of use.

This is a Continuation of application Ser. No. 07/761,123 entitled"METHOD AND APPARATUS FOR AUTOMATICALLY READING BAR CODE SYMBOLS" filedJan. 17, 1991, now U.S. Pat. No. 5,340,971; which is aContinuation-in-Part of application Ser. No. 07/583,421 filed Sep. 17,1990, now U.S. Pat. No. 5,260,553.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to automatic code symbol reading(i.e., recognition) systems, and more particularly to an automatic codesymbol reading system which permits fully automated operation whileproviding a high degree of simplicity and versatility in its use.

2. Brief Description of the Prior Art

Hitherto, a number of techniques have been proposed for reading bar codesymbols using hand-held devices. Despite variety amongst prior art barcode symbol reading devices, the various techniques incorporated intoprior art devices can be classified into two principally distinctclasses, namely, manually operated or triggered bar code symbol reading,and automatic bar code symbol reading.

Representative of prior art manually operated bar code symbol readingdevices are U.S. Pat. No. 4,387,297 to Swartz, et al., U.S. Pat. No.4,575,625 to Knowles, and U.S. Pat. No. 4,845,349 to Cherry. While suchprior art devices are capable of bar code symbol reading, theynevertheless suffer from several significant shortcomings and drawbacks.In particular, the user is required to manually pull a trigger or push abutton each time symbol reading (i.e., scanning and decoding) is to becyclically initiated and terminated. This requirement is most fatiguingon the user when large numbers of bar code symbols are to be read. Also,in certain symbol reading applications, such as warehouse inventory,pulling the trigger to initiate scanning of bar code symbols may beextremely difficult for the user due to the physical location of theobjects bearing the bar code symbols.

An alternative to manually operated bar code symbol reading devices isautomatic bar code symbol readers, which incorporate techniques forautomatically initiating and terminating scanning and decodingoperations. Representative of prior art automatic bar code symboldevices are U.S. Pat. No. 4,639,606 to Boles, et al. and U.S. Pat. No.4,933,538 to Heiman, et al. While capable of automatically initiatingscanning of bar code symbols, such prior art devices and incorporatedtechniques nevertheless also suffer from significant shortcomings anddrawbacks.

In particular, U.S. Pat. No. 4,639,606 to Boles, et al. discloses laseremission control circuitry for use in implementing a hand-heldtriggerless bar code scanner. The laser is operated in a pulsed "findpaper" mode until a reflected signal is obtained, indicating thepresence of an object (e.g., paper) in the search field. Thereupon, thecircuitry is changed to a "search mode" in which the power of the laseris increased to above the safety limits for a period of time, and thereturn signal is monitored for signal transitions corresponding to theblack bars of the code. On detection of the first black bar, thecircuitry is changed to an "in-code" (i.e., decode) mode as long assuccessive symbols are received within a given period of time. If thedecode mode terminates within a predetermined time interval (e.g., onesecond after the beginning of the search mode), then the search mode isre-entered, otherwise the decode mode will change to find paper mode.

While the triggerless bar code symbol reader proposed in U.S. Pat. No.4,639,606 possesses three modes of operation, this prior art bar codesymbol reader nevertheless suffers from several significant shortcomingsand drawbacks. In particular, this prior art bar code symbol readerrequires continuous use of a pulsed laser beam to determine the presenceof an object within the scan field, which, in hand-held portable batterypower devices, undesirably drains limited power reserves, especially inextended time duration bar code reading applications. Also, this priorart device, not knowing whether a bar code symbol is actually present inthe scan field, requires commencement of decode processing upondetection of the first black bar. Undesirably, this typicallynecessitates initializing a programmable device, such as amicroprocessor, for decoding scan data that may likely contain no barcode symbol at all. Consequently, this characteristic of such prior artbar code symbol reading devices results in decreased responsiveness andversatility.

U.S. Pat. No. 4,933,538 discloses a bar code symbol reading systemwhich, in the "object sensor mode", is triggerless and constantly emitsa laser beam at a narrow angle and low power. When an indicia patternindicative of a bar code symbol has been detected, the laser beam iswidened and its power increased, for reading the entire symbol. Whilethis prior art bar code reading system permits detection of bar codesymbols within the scan field in order that the power of the laser beammay be automatically increased to a higher level for collecting scandata for use in decoding operations, this system also suffers fromseveral significant shortcomings and drawbacks. In particular, itrequires continuous use of laser emission to determine the presence ofboth objects and bar code symbols within the scan field, whichnecessarily results in drain of limited power reserves in portablebattery power applications. In addition, the extensive use of a laserbeam to perform object and bar code symbol detection functionsimplicates necessity for laser emission control measures.

In general, prior art automatic bar code symbol reading devices of thetype described above, suffer from other shortcomings and drawbacks. Forexample, unlike manually operated devices which use a trigger toactivate trigger bar code symbol reading, pulled once for each bar codeto be read, prior art automatic bar code symbol reading devices lackintelligence capabilities necessary to prevent undesired multiplereading of a bar code symbol, particularly when the scanning beam ispermitted to dwell on a bar code symbol for extended period of time.

Further, prior art automatic bar code symbol reading devices lack systemcontrol capabilities which permit diverse modes of operation andautomatic reading of a plurality of consecutively different bar codesymbols, while preventing misreads and inadvertent multiple reads of thesame bar code symbol.

Thus, there is a great need in the code symbol reading art for a fullyautomatic hand-holdable code symbol reading device which overcomes theabove shortcomings and drawbacks of prior art devices and techniques.

OBJECTS AND SUMMARY OF THE INVENTION

Accordingly, it is a primary object of the present invention to providea fully automatic hand-holdable bar code symbol reading device capableof automatically reading one or more bar code symbols in a consecutivemanner without the above-described shortcomings and drawbacks of priorart devices.

Another object of the present invention is to provide such an automaticbar code symbol reading device which is capable of detecting an objectbearing a bar code symbol in an object detection field using objectsensing energy, and in response thereto, scanning a light beam across ascan field in order to detect the presence of a bar code symbol, andonly thereafter proceed to read the detected bar code symbol.

A further object is to provide such an automatic bar code symbol readingdevice, in which the object detection field spatially encompasses atleast a portion of the scan field along the operative scanning range ofthe device.

A further object of the present invention is to provide an automatichand-holdable bar code symbol reading device which is capable ofcollecting and detecting reflected IR object sensing energy and laserreturn light using common collection optics and signal processingcircuitry.

Another object of the present invention is to provide a hand-holdablebar code symbol reading device which is capable of distinguishingbetween a bar code symbol and a regular pattern of light and dark areassuch as that formed by printed characters, and to only enable bar codesymbol reading operations upon the detection of a bar code symbol in thescan field of the device.

An even further object of the present invention is to provide anautomatic bar code symbol reading device which prevents multiple readingof the same bar code symbol due to dwelling of scanning beam upon a barcode symbol for an extended period of time.

A further object of the present invention is to provide a method ofautomatically reading a plurality of bar code symbols in a consecutivemanner.

A further object of the present invention to provide an automatichand-holdable bar code reading device having long range and short rangemodes of object detection within its object detection field. Such modesof object detection can be either manually selected by the user, orautomatically selected when the hand-holdable bar code reading device isplaced within a support stand designed for long-range object and barcode symbol detection and bar code symbol reading.

A further object of the present invention is to provide an automatic barcode reading device having long-range and short range (i.e., close-up)modes of bar code presence detection within its scan field. The shortrange mode of bar code presence detection can be manually selected, orautomatically selected upon decoding a predesignated bar code symbolwhich actuates a particular mode of range selection. In the short rangemode of bar code presence detection, the automatic bar code readingdevice not only detects the presence of a bar code within the scan fieldby analysis of collected scan data, but it further processes thecollected scan data to produce digital count data representative of themeasured time interval between bar and/or space transitions. Bar codesymbols present within a particular range in the scan field will producescan data having time interval characteristics falling within aprespecified timing data range. Using the results of this analysis, onlybar code symbols scanned within the short range field will be deemed"detected," and only bar code symbols detected within the short range ofthe scan field can activate the decoding module of the device, and thusenable bar code reading.

It is an object of the present invention to provide an automatichand-holdable bar code reading device which has both long and shortrange modes of object and bar code presence detection, separately orsimultaneously selectable for various bar code symbol readingapplications, such as for example, bar code "menu" reading, counter-topprojection scanning, charge coupled device (CCD) scanner emulation, andthe like.

It is a further object of the present invention to provide an automatichand-holdable bar code symbol reading device having a control systemwhich has a finite number of states through which the device may passduring its automatic operation in response to diverse conditionsdetected within the object detection and scan fields of the device.

It is a further object of the present invention to provide a portablehand-holdable data collection device, to which the automatic bar codesymbol reading device can be connected for supply of power andtransmission and storage of symbol character data, collected duringportable bar code symbol reading applications in, for example, retail,industrial and manufacturing environments where freedom of bar codescanner movement and flexibility are important considerations.

It is yet a further object of the present invention to provide aportable, fully automatic hand-holdable bar code reading system which iscompact, simple to use and versatile.

Yet a further object of the present invention is to provide an improvedmethod of automatically reading bar code symbols.

These and further objects of the present invention will become apparenthereinafter and in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a fuller understanding of the objects of the present invention, theDetailed Description of the Illustrated Embodiments will be taken inconnection with the drawings, wherein:

FIG. 1 is a perspective view of an automatic hand-holdable laser barcode symbol reading device constructed in accordance with the principlesof the present invention;

FIG. 2 is a cross-sectional elevated side view along the longitudinalextent of the automatic bar code symbol reading device of FIG. 1,showing various hardware and software components used in realizing thefirst illustrative embodiment;

FIG. 2A is a cross-sectional plan view along the longitudinal extent ofthe automatic bar code symbol reading device taken along line 2A--2A ofFIG. 2, also showing the various components used in realizing the firstillustrative embodiment;

FIG. 3A is an elevated side view of the bar code reading device of thefirst embodiment of the present invention, illustrating the spatialrelationship between the object detection and scan fields of the device,and the long and short range of programmed object detection and bar codepresence detection of the first illustrative embodiment;

FIG. 3B is a plan view of the automatic bar code reading device takenalong line 3B--3B of FIG. 3A also illustrating the spatial relationshipbetween the object detection and scan fields of the device and the longand short ranges of object and bar code presence detection of theillustrative embodiment;

FIG. 4 is block functional system diagram of the automatic bar codesymbol reading device of the first embodiment of the present invention,illustrating the principal components of the device integrated with thecontrol system thereof;

FIG. 5 is a block functional diagram of a first embodiment of the objectdetection means of the automatic bar code symbol reading device of thepresent invention;

FIG. 6 is a block functional diagram of a second embodiment of theobject detection means of the present invention;

FIGS. 7A through 7C show the automatic bar code reading device beingused in two different modes of programmed object and bar code presencedetection;

FIGS. 8A to 8E, taken together, show a high level flow chart of a systemcontrol program (i.e., Main System Control Routine No. 1), illustratingvarious courses of programmed system operation that the automatic barcode symbol reading device of the illustrative embodiment may undergo;

FIGS. 9A to 9C, taken together, is a high level flow chart of anothersystem control program (i.e., System Control Routine with ObjectDetection and Scan Range Selection), which provides the automatic barcode symbol reading device of the present invention with severalselectable modes of object and bar code presence detection for useduring various applications, such as bar coded menu reading, automaticCCD scanner emulation, stand supported scanning and the like;

FIG. 10A is an elevated side view of the automatic bar code readingdevice of the second embodiment of the present invention, illustratingthe spatial relationship between the object detection and scan fields ofthe device, and also the long and short ranges of programmed object andbar code presence detection;

FIG. 10B is a partially cut away plan view of the automatic bar codereading device of FIG. 10A, showing various operative componentsthereof;

FIG. 10C is a partially cut away plan view of an alternative embodimentof the automatic bar code symbol reading device of the present inventionshowing the layout of the optical signal processing system in which bothlaser return light and IR return energy are collected through commonoptics within the hand-holdable housing, and detected using a singlephotoreceiver and common signal processing circuitry;

FIG. 10D is schematic diagram representative of the optical signalprocessing system employed in the bar code symbol reading device of theshown in illustrative embodiment shown in FIG. 10C;

FIG. 11 is a block functional system diagram of the automatichand-holdable bar code reading device of the second illustrativeembodiment of the present invention;

FIGS. 12A to 12E, taken together, show a high level flow chart of asystem control program (i.e., Main System Control Routine No. 2),illustrating various courses of automatic programmed system operationthat the automatic bar code symbol reading device of second illustrativeembodiment may undergo;

FIG. 13 is a state diagram illustrating the various states that theautomatic bar code symbol reading devices of the illustrativeembodiments may undergo during the course of their operation;

FIG. 14A is a perspective view of the portable hand-holdable datacollection device of the present invention shown in FIG. 1;

FIG. 14B is an elevated side view of the data collection and storagedevice of the present invention, taken along line 14B--14B of FIG. 14B;

FIG. 14C is an elevated rear view of the data collection and storagedevice of the present invention, taken along line 14C--14C of FIG. 14C;

FIG. 15 is a block functional system diagram of the data collectiondevice of the present invention, showing the system componentsintegrated about its system controller; and

FIGS. 16A to 16C, taken together, show a flow chart of a system controlprogram for the data collection device of the present inventionillustrating various operational states that the data collection devicemay undergo during its programmed operation, and indicating variousoperator prompts displayed on its visual display during various modes ofuse.

DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS

In FIG. 1, the portable automatic hand-holdable bar code symbol readingsystem of the present invention, is illustrated. As shown, automatic barcode symbol reading system 1 comprises an automatic hand-holdable barcode symbol reading device 2 operably associated with hand-holdable datacollection device 3 of the present invention. Operable interconnectionof bar code symbol reading device 2 and data collection device 3 isachieved by a flexible multiwire connector cord 4 extending from barcode symbol device 2 and plugged directly into the data-inputcommunications port of the data collection device 3. A detaileddescription of the structure, functions and operation of the datacollection device hereof will be provided hereinafter referring to FIGS.14A through 16C. Attention will first be accorded, however, to thevarious illustrative embodiments of the automatic bar code symbolreading device of the invention. The first illustrative embodiment willbe described by referring to FIGS. 1 to 9C and 13, and then the secondillustrative embodiment will be described with reference to FIGS. 1 and10 to 13.

Referring now to FIG. 1 through 3B, automatic bar code symbol readingdevice 2 of the first illustrative embodiment is shown to comprise anultra lightweight hand-holdable housing 5 which has a head portion 5Athat continuously extends into a contoured handle portion 5B at anobtuse deflection angle α which can be in the range of 150 to about 170degrees. In a preferred embodiment, deflection angle α is about 160degrees. This ergonomic housing design is sculptured (i.e., form-fitted)to the hand, making scanning as easy and effortless as a wave of thehand, while eliminating risks of musculoskeletal disorders, such ascarpal tunnel syndrome, which can result from repeated biomechanicalstress commonly associated with pointing prior art gun-shaped scannersat a bar code, squeezing the trigger to activate the scanning beam, andthen releasing the trigger.

As illustrated in FIGS. 1 through 3B, the head portion of housing 5 hasa transmission aperture 6 formed in upper portion of front panel 7, topermit desired optical radiation to exit and enter the housing, as willbe described in detail hereinafter. The lower portion of front panel 7Bis optically opaque, as are all other surfaces of the hand-holdablehousing.

As illustrated in FIGS. 1, 3A and 3B in particular, automatic bar codereading device 2 generates two different fields external to thehand-holdable housing, in order to carry out automatic bar code symbolreading according to the principles of the present invention.Specifically, an object detection field, indicated by broken and dottedlines, is provided externally to the housing for detecting objectsensing energy reflected off an object bearing a bar code symbol,located within the object detection field. A scan field, on the otherhand, having at least one scanning plane of essentially planar extent,is provided external to the housing for scanning an object presentwithin the scan field. Such scanning is achieved with a light beam sothat scan data can be collected for detecting the presence of a bar codewithin the scan field, and subsequently reading (i.e., scanning anddecoding) the detected bar code symbol.

In general, object sensing energy can be optical radiation or acousticalenergy, either sensible or non-sensible by the operator, and may beeither generated by an external ambient source, or from the automaticbar code symbol reading device itself. In the illustrative embodiments,the object sensing energy is a beam of infrared light projectedforwardly from transmission aperture 6 in a spatially directed fashion,preferably essentially parallel to the longitudinal axis 9 of the headportion of the housing. In a preferred embodiment, the object detectionfield has a three-dimensional volumetric expanse spatially coincidentwith the transmitted infrared light beam. This ensures that an objectwithin the object detection field will be illuminated by the infraredlight beam and that infrared light reflected therefrom will be directedgenerally towards the transmission aperture of the housing where it canbe detected, to indicate that an object is within the object detectionfield.

In order to scan a bar code symbol on an object within the objectdetection field, a light beam is generated within the head portion ofthe housing and scanned through the transmission aperture across thescan field. As illustrated in FIG. 1, at least a portion of the scannedlight beam will be reflected off the bar code symbol and directed backtowards and through the transmission aperture for collection, detectionand subsequent processing in a manner which will be described in detailhereinafter. To ensure that an object detected within the objectdetection field is scanned by the scanning light beam, the objectdetection field spatially encompasses at least a portion of the scanfield along the operative scanning range of the device, as illustratedin FIGS. 3A and 3B.

To more fully appreciate the mechanisms employed in providing the objectdetection and scan fields of bar code symbol reading device 2, referenceis best made to the operative elements within the hand-holdable housing.

As shown in FIG. 4, bar code symbol reading device of the firstillustrative embodiment comprises a number of system components, namely,an object detection circuit 10, scanning means 11, photoreceivingcircuit 12, analog-to-digital (A/D) conversion circuit 13, bar codepresence detection module 14, bar code scan range detection module 15,symbol decoding module 16, data format conversion module 17, symbolcharacter data storage unit 18, and data transmission circuit 19. Inaddition, a magnetic field sensing circuit 20 is provided for detectinghousing support stand, while a manual switch 21 is provided forselecting long or short range modes of object and bar code presencedetection. As illustrated, these components are operably associated witha programmable system controller 22 which provides a great degree ofversatility in system control, capability and operation. The structure,function and advantages of this controller will be described in detailhereinafter.

In the illustrated embodiment, system controller 22, bar code presencedetection module 14, bar code scan range detection module 15, symboldecoding module 16, and data format conversion module 17 are realizedusing a single programmable device, such as a microprocessor havingaccessible program and buffer memory, and external timing means. It isunderstood, however, that any of these elements can be realized usingseparate discrete components as will be apparent to those skilled in theart.

Automatic bar code symbol reading device 2 also includes power receivinglines 23 which lead to conventional power distribution circuitry (notshown) for providing requisite power to each of the system components,when and for time prescribed by the system controller. As illustrated,power receiving lines 23 are provided within the encasing of flexibleconnector cord 4, run alongside data communication lines 24 of thedevice, and are thus physically associated with a multi-pin connectorplug 25 at the end of the flexible connector cord. An on/off powerswitch or functionally equivalent device may be provided external thehand-holdable housing to permit the user to energize and deenergize thedevice. In the first illustrative embodiment, power delivered throughthe connector cord to the bar code symbol reading device is continuouslyprovided to system controller 22 and object detection circuit 10 tocontinuously enable their operation, while only biasing voltages and thelike are provided to all other system components. In this way, eachremaining system component is initially deactivated (i.e., disabled)from operation and must be activated (i.e., enabled) by the systemcontroller.

In accordance with the present invention, the purpose of the objectdetection circuit is to determine (i.e., detect) the presence of anobject (e.g., product, document, etc.) within the object detection fieldof bar code symbol reading device 2, and in response thereto, producefirst control activation signal A₁. In turn, first control activationsignal A₁ is provided as input to the system controller which, as willbe described in greater detail hereinafter, causes the device to undergoa transition to the bar code symbol presence detection state. In FIGS.5A and 5B, two different approaches to detecting the presence of anobject within the object detection field are disclosed.

In FIG. 5, an "active" object detection circuit 10A is shown. Inessence, this circuit operates by transmitting an infrared (IR) lightsignal forwardly into the object detection field. First controlactivation signal A₁ is generated upon receiving a reflection of thetransmitted signal off an object within the object detection field. Asillustrated, object detection circuit 10A is realized as an IR sensingcircuit which comprises a synchronous receiver/transmitter 27 and aninfrared LED 28 that generates a 940 nanometer pulsed signal at a rateof 2.0 KHZ. This pulsed IR signal is transmitted through focusing lens29 to illuminate the object detection field. When an object is presentwithin the object detection field, a reflected pulse signal is producedand focussed through focusing lens 30 onto photodiode 31. Notably, thelight collecting (i.e., optical) characteristics of focusing lens 30will essentially determine the geometric characteristics of the objectdetection field. Consequently, the optical characteristics of lens 30will be selected to provide an object detection field which spatiallyencompasses at least a portion of the scanning field along the operativescanning range of the device. The output of photodiode 31 is convertedto a voltage by current-to-voltage amplifier 32, and the output thereofis provided as input to synchronous receiver/transmitter 27 whichsynchronously compares the received signal with the transmitted signaland determines if an object is present in the object detection field. Ifso, then synchronous receiver/transmitter 27 produces first controlactivation signal A₁ =1, indicative of such condition. Upon generationof first control activation signal A₁ =1, the system controller willactivate the operation of scanning means 11, photoreceiving circuit 12,A/D conversion circuit 13 and bar code presence detection module 14according to a preprogrammed system control routine, the details ofwhich will be described hereinafter.

In FIG. 6, a passive object detection circuit 10B is shown. In essencethis circuit operates by passively detecting ambient light within theobject detection field. First control activation signal A₁ is generatedupon receiving light of different intensity reflected off an objectwithin the object detection field. As illustrated object detectioncircuit 10B is realized as a passive ambient light detection circuitwhich comprises a pair of photodiodes 35 and 36, that sense ambientlight gathered from two spatially overlapping parts of the objectdetection field using focussing lenses 37 and 38, respectively. Notably,the optical characteristics of focusing lenses 37 and 38 willessentially determine the geometric characteristics of the objectdetection field. Consequently, the optical characteristics of theselenses will be selected to provide an object detection field whichspatially encompasses at least a portion of the scanning field along theoperative scanning range of the device. The output signals ofphotodiodes 35 and 36 are converted to voltages by current-to-voltageamplifiers 39 and 40 respectively, and are provided as input to adifferential amplifier 41. The output of differential amplifier 41 isprovided as input to a sample and hold amplifier 42 in order to reject60 and 120 Hz noise. Output signal of amplifier 42 is provided as inputto a logarithmic amplifier 43 to compand signal swing. The output signalof logarithmic amplifier 43 is provided as input to a differentiator 44and then to a comparator 45. The output of comparator 45 provides firstcontrol activation signal A₁.

Alternatively, automatic bar code symbol reading device hereof can bereadily adapted to sense ultrasonic energy reflected off an objectpresent within the object detection field. In such an alternativeembodiment, object detection circuit 10 is realized as an ultrasonicenergy sensing mechanism. In housing 5, ultrasonic energy is generatedand transmitted forwardly of the housing head portion into the objectdetection field. Then, ultrasonic energy reflected off an object withinthe object detection field is detected closely adjacent the transmissionwindow using an ultrasonic energy detector. Preferably, a focusingelement is disposed in front of the detector in order to effectivelymaximize collection of reflected ultrasonic energy. In such instances,the focusing element will essentially determine the geometricalcharacteristics of the object detection field of the device.Consequently, as with the other above-described object detectioncircuits, the energy focusing (i.e., collecting) characteristics of thefocusing element will be selected to provide an object detection fieldwhich spatially encompasses at least a portion of the scan field.

For purposes of illustration, object detection circuit 10A shown in FIG.5, is provided with two different modes of operation, namely, a longrange mode of object detection and a short range mode of objectdetection. As shown in FIG. 4, these modes are set by the systemcontroller using mode enable signals E_(IRT) =0 and E_(IRT) =1,respectively. When induced into the long range mode of operation, the IRsensing circuit (i.e., object detection means) will generate firstcontrol activation signal A₁ =1 whenever an object within the objectdetection field has been detected, despite the particular distance theobject is located from the transmission aperture. When induced into theshort range mode operation, the IR sensing circuit will generate firstactivation control signal A₁ =1 only when an object is detected at adistance within the short range portion of the object detection field.The long range specification for object detection is preselected to bethe full or entire range of sensitivity provided by IR sensing circuit10A (e.g., 0 to about 10 inches), which is schematically indicated inFIGS. 3A and 3B. In the preferred embodiment, the short rangespecification for object detection is preselected to be the reducedrange of sensitivity provided by the IR sensing circuit when mode enablesignal E_(IRT) =1 is provided to the desensitization port ofreceiver/transmitter 27 in FIG. 5. In an illustrated embodiment, theshort range of object detection is about 0 to about 3 inches or so, asschematically indicated in FIGS. 3 and 3A, to provide CCD-like scanneremulation. As will become apparent hereinafter, the inherently limiteddepth of field and width of field associated with the short range modeof object detection prevents, in essence, the scanning means 11 fromflooding the scan field with scanning light and inadvertently detectingundesired bar code symbols. The particular uses to which objectdetection range selection can be put, will be described in greaterdetail hereinafter with reference to FIG. 9 in particular.

As illustrated in FIG. 4, scanning means 11 comprises a light source 47which, in general, may be any source of intense light suitably selectedfor maximizing the reflectively from the object's surface bearing thebar code symbol. In the illustrative embodiment, light source 47comprises a solid-state visible laser diode (VLD) which is driven by aconventional driver circuit 48. In the illustrative embodiment, thewavelength of laser light produced from laser diode 47 is about 670nanometers. In order to scan the laser beam output from laser diode 47over a scan field having a predetermined spatial extent in front of thehead portion of the housing, a planar scanning mirror 49 can beoscillated back and forth by a stepper motor 50 driven by a conventionaldriver circuit 51, as shown. However, one of a variety of conventionalscanning mechanisms may be alternatively used with excellent results.

To selectively activate laser light source 47 and scanning motor 50, thesystem controller provides laser diode enable signal E_(L) and scanningmotor enable signal E_(M) as input to driver circuits 48 and 51,respectively. When enable signal E_(L) is a logical "high" level (i.e.,E_(L) =1), a laser beam is generated, and when E_(M) is a logical highlevel the laser beam is scanned through the transmission aperture andacross the scan field.

When an object such as product bearing a bar code symbol is within thescan field at the time of scanning, the laser beam incident thereon willbe reflected. This will produce a laser light return signal of variableintensity which represents a spatial variation of light reflectivitycharacteristic of the spaced apart pattern of bars comprising the barcode symbol. Photoreceiving circuit 12 is provided for the purpose ofdetecting at least a portion of laser light of variable intensity, whichis reflected off the object and bar code symbol within the scan field.Upon detection of this scan data signal, photoreceiving circuit 12produces an analog scan data signal D₁ indicative of the detected lightintensity.

In the illustrated embodiments, photoreceiving circuit 12 generallycomprises scan data collection optics 53, which focus optical scan datasignals for subsequent detection by a photoreceiver 54 having, mountedin front of its sensor, a wavelength selective filter 150 which onlytransmits optical radiation of wavelengths up to a small band above 670nanometers. Photoreceiver 54, in turn, produces an analog signal whichis subsequently amplified by preamplifier 55 to produce analog scan datasignal D₁. In combination, scanning means 11 and photoreceiving circuit12 cooperate to generate scan data signals from the scan field, overtime intervals specified by the system controller. As will beillustrated hereinafter, these scan data signals are used by bar codepresence detection module 14, bar code scan range detection module 15and symbol decoding module 16.

As illustrated in FIG. 4, analog scan data signal D₁ is provided asinput to A/D conversion circuit 13. As is well known in the art, A/Dconversion circuit 13 processes analog scan data signal D₁ to provide adigital scan data signal D₂ which resembles, in form, a pulse widthmodulated signal, where logical "1" signal levels represent spaces ofthe scanned bar code symbol and logical "0" signal levels represent barsof the scanned bar code symbol. A/D conversion circuit 13 can berealized by any conventional A/D chip. Digitized scan data signal D₂ isprovided as input to bar code presence detection module 14, bar codescan range detection module 15 and symbol decoding module 16.

The purpose and function of bar code presence detection module 14 is todetermine whether a bar code is present in or absent from the scan fieldover time intervals specified by the system controller. When a bar codesymbol is detected in the scan field, the bar code presence detectionmodule 14 automatically generates second control activation signal A₂(i.e., A₂ =1) which is provided as input to the system controller, asshown in FIG. 4. Preferably, bar code presence detection module 14 isrealized as a microcode program carried out by the microprocessor andassociated program and buffer memory, described hereinbefore. Thefunction of the bar code presence detection module is not to carry out adecoding process but rather to simply and rapidly determine whether thereceived scan data signals produced during bar code presence detection,represent a bar code symbol residing within the scan field. There aremany ways in which to achieve this through a programming implementation.

In the preferred embodiment, the aim of bar code presence detectionmodule 14 is to simply detect a bar code symbol "envelope". This isachieved by first processing a digital scan data signal D₂ so as toproduce digitized "count" data and digital "sign" data. The digitalcount data is representative of the measured time interval (i.e.,duration) of each signal level between detected signal level transitionswhich occur in digitized scan data signal D₂. The digital sign data, onthe other hand, indicates whether the signal level between detectedsignal level transitions is either a logical "1", representative of aspace, or a logical "0", representative of a bar within a bar codesymbol. Using the digital count and sign data, the bar code presencedetection module then determines in a straightforward manner whether ornot the envelope of a bar code symbol is represented by the collectedscan data.

When a bar code symbol envelope is detected, the bar code symbolpresence detection module provides second control activation signal A₂=1 to the system controller. As will be described in greater detailhereinafter, second control activation signal A₂ =1 causes the device toundergo a transition from the bar code presence detection state to thebar code symbol reading state.

Similar to the object detection circuit described above, the bar codepresence detection module is provided with two different modes ofoperation, namely, a long range mode of bar code presence detection anda short range mode of bar code presence detection. As shown in FIG. 4,these modes are set by the system controller using mode select enablesignals E_(IRT) =0 and E_(IRT) =1, respectively. When induced into thelong range mode of operation, the bar code presence detection modulewill generate second control activation signal A₂ =1 whenever theenvelope of a bar code symbol has been detected, despite the particulardistance the bar code is from the transmission aperture. When inducedinto the short range mode of operation, the bar code presence detectionmodule will generate second control activation signal A₂ =1 when theenvelope of a bar code symbol has been detected and only if theassociated count (i.e., timing) data indicates that the detected barcode resides within the short range predetermined for bar code presencedetection. Notably, similar to long range specification in connectionwith object detection, long range specification for bar code presencedetection is preselected to be the entire operative scanning rangeavailable to the device. In an illustrated embodiment, this range can befrom about 0 to about 10 inches from the transmission aperture,depending on the optics employed in the scanning means. This range isschematically indicated in FIGS. 3 and 3A. In the preferred embodiment,short range specification for bar code presence detection is preselectedto be the same range selected for short range object detection (e.g.,approximately 0 to about 3 inches from the transmission aperture), asindicated in FIGS. 3A and 3B. As will become apparent hereinafter, theinherently limited depth of field and width of field associated with theshort range mode of bar code symbol detection prevents scanning means 11and bar code symbol detection module 14 from actuating the reading ofundesired bar code symbols in the scan field.

Unlike the bar code symbol presence detection module, the purpose andfunction of the bar code scan range detection module is not to detectthe presence of a bar code symbol in the scan field, but rather todetermine the range that a detected bar code symbol resides from thetransmission aperture of the bar code symbol reading device. This dataprocessing module operates upon digitized scan data signal D₂ collectedfrom a bar code symbol which has been previously detected by the barcode symbol presence detection module.

In the preferred embodiment, bar code scan range detection module 15analyzes digital count data produced by the bar code presence detectionmodule, and determines at what range (i.e., distance) a detected barcode symbol resides from the transmission aperture. This determinationthen permits the scan range detection module to determine whether thedetected bar code symbol is located within the prespecified long orshort range of the scan field, as measured from the transmissionaperture. As will be explained hereinafter in greater detail, thisinformation is used by the bar code presence detection module (i.e.,when induced into its short range mode of operation), to determinewhether second control activation signal A₂ =1 should be provided to thesystem controller. Upon the occurrence of this event, the bar codesymbol reading device is caused to undergo a transition from the barcode symbol presence detection state to bar code symbol reading.

The function of symbol decoding module 16 is to process, scan line byscan line, the stream of digitized scan data D₂, in an attempt to decodea valid bar code symbol within a predetermined time period allowed bythe system controller. When the symbol decoding module successfullydecodes a bar code symbol within the predetermined time period, symbolcharacter data D₃ (typically in ASCII code format) is producedcorresponding to the decoded bar code symbol. Thereupon a third controlactivation signal A₃ =1 is produced by the symbol decoding module and isprovided to the system controller in order to perform its system controlfunctions.

As will be illustrated hereinafter with reference to FIGS. 8 to 8E, thesystem controller generates and provides enable signals E_(FC), E_(DS)and E_(DT) to data format conversion module 17, data storage unit 18 anddata transmission circuit 19, respectively, at particular stages of itscontrol program. As illustrated, symbol decoding module 16 providessymbol character data D₃ to data format module 17 to convert data D₃into two differently formatted types of symbol character data, namely D₄and D₅. Format-converted symbol character data D₄ is of the "packeddata" format, particularly adapted for efficient storage in data storageunit 18. Format-converted symbol character data D₅ is particularlyadapted for data transmission to data collection and storage device 3,or a host device such as, a computer or electronic cash register. Whensymbol character data D₄ is to be converted into the format of theuser's choice (based on a selected option mode), the system controllerwill generate and provide enable signal E_(DS) to data storage unit 18,as shown in FIG. 4. Similarly, when format converted data D₅ is to betransmitted to a host device, the system controller will generate andprovide enable signal E_(DT) to data transmission circuit 19. Thereupon,data transmission circuit 19 transmits format-converted symbol characterdata D₅ to data collection device 3, via the data transmission lines offlexible connector cable 4.

In order to select either the long or short range mode of object (and/orbar code symbol presence detection), bar code symbol reading device 2 isprovided with both manual and automated mechanisms for effectuating suchselections.

In the manual mechanism, a manual switch (e.g., step button) 21 ismounted onto the top surface of the handle portion of the housing, sothat long and short range modes of object detection can be simplyselected by depressing this switch with ones thumb while handling thebar code reading device. The switch generates and provides modeactivation signal A₄ to the system controller, which in turn generatesthe appropriate mode enable signal E_(IRT).

In the automated mechanism, housing support stand detection means 20,realized as a magnetic field sensing circuit, is operably associatedwith the system controller to automatically generate mode activationsignal A₄, when the hand-holdable housing is not, for example, beingsupported within a housing support stand 57 which bears a permanentmagnetic 58 disposed in proximity with the housing support surfaces 59Aand 59B, illustrated in FIGS. 7A to 7C. Preferably, a visual indicatorlight is provided to the housing to visually indicate the particularmode which has been selected manually or automatically.

In general, magnetic sensing circuit 20 comprises a magnetic fluxdetector 60, a preamplifier and a threshold detection circuit. Magneticflux detector 60 produces as output an electrical signal representativeof the intensity of detected magnetic flux density in its proximity.When housing 5 is placed in housing support stand 57, as shown in FIG.7A, magnetic flux detector 60 will be in position to detect flux frompermanent magnet 58. The produced electrical signal is amplified by thepreamplifier whose output is compared to a predetermined thresholdmaintained in the threshold detector circuit. If the intensity of thedetected magnetic flux exceeds the threshold, long-range mode activationsignal A₄ =1 is provided to the system controller.

As illustrated in FIG. 2, magnetic flux detector 60 is mounted to therearward underside surface of the handle portion of the housing. In thisillustrated embodiment, a ferrous bar 61 is mounted interiorly to theunderside surface of the housing handle portion as shown. Thisarrangement facilitates releasable magnetic attachment of thehand-holdable housing to magnetic bar 58 fixedly installed in housingsupport stand 57. Preferably, a hole 62 is drilled through ferrous bar61 to permit installation of magnetic flux detector 60 so that magneticflux emanating from magnetic bar 58 is detectable when the housing ispositioned within housing support stand 57, as shown in FIG. 7A. In thisconfiguration, magnetic flux detector 60 is in proximity with magneticbar 58 and long range mode activation signal A₄ =1 is produced andprovided to the system controller. In response, the system controllerenables long range object detection (i.e., E_(IRT) =0) when thehand-holdable housing is removed from the housing support stand 57 asshown in FIG. 7B, the magnetic flux from magnetic bar 58 is no longersufficient in strength to produce long range mode activation signal A₄=1; instead, the short range mode activation signal A₄ =0 is producedand provided to the system controller. In response, the systemcontroller enables the short range mode of object detection (i.e.,E_(IRT) =1), as illustrated in FIG. 7C.

It is understood that there are a variety of ways in which to configurethe above described system components within the housing of theautomatic bar code symbol reading device, while successfully carryingout of functions of the present invention. In FIGS. 2 and 2A, onepreferred arrangement is illustrated.

In FIG. 2A, the optical arrangement of the system components is shown.Specifically, visible laser diode 47 is mounted in the rear corner ofcircuit board 64 installed within the head portion of the housing. Astationary concave mirror 53 is mounted centrally at the front end ofcircuit board 63, primarily for collecting laser light. Notably, theheight of concave mirror 53 is such not to block transmission aperture6. Mounted off center onto the surface of concave mirror 53, is verysmall second mirror 64 for directing the laser beam to planar mirror 49which is connected to the motor shaft of a scanning motor 50, for jointoscillatory movement therewith. As shown, scanning motor 50 is mountedcentrally at the rear end of circuit board 63. In the opposite rearcorner of circuit board 63, photodetector 54 is mounted.

In operation, laser diode 47 adjacent the rear of the head portion,produces and directs a laser beam in a forward direction to the smallstationary mirror 64 and is reflected back to oscillating mirror 49.Oscillating mirror 49 scans the laser beam over the scan field. Thereturning light beam, reflected from the bar code symbol, is directedback to oscillating mirror 49, which also acts as a collecting mirror.This oscillating mirror then directs the beam to stationary concavemirror 53 at the forward end of the housing head portion. The beamreflected from the concave mirror 53 is directed to photodetector 54 toproduce an electrical signal representative of the intensity of thereflected light.

In front of stationary concave mirror 53, IR LED 28 and photodiode 31are mounted to circuit board 63, in a slightly offset manner fromlongitudinal axis 9 of the head portion of the housing. Apertures 65 and66 are formed in opaque portion 7B of the housing below the transmissionaperture, to permit transmission and reception of IR type object sensingenergy, as hereinbefore described. In order to shield IR radiation fromimpinging on photodiode 31 via the housing, a metallic optical tube 67having an aperture 68 encases photodiode 31. By selecting the size ofaperture, the placement of photodiode 31 within optical tube 67 and/orthe radiation response characteristics of the photodiode, desiredgeometric characteristics for the object detection field can beachieved, as described hereinbefore. To prevent optical radiationslightly below 670 nanometers from entering the transmission aperture 6,a plastic filter lens 69 is installed over the transmission aperture fortransmitting only optical radiation having wavelengths from slightlybelow 670 nanometers, and thus blocking the transmission of light havingwavelengths below this range, from passing through the lighttransmission aperture. Notably, in this way the combination of filterlens 69 at the transmission aperture and wavelength selective filter 150before photoreceiver 54 cooperate to form a narrow band-pass opticalfilter having a center wavelength λ_(c) =670 nanometers, which islocated in the visible band of the electromagnetic spectrum. Thisarrangement provides improved signal-to-noise ratio for detected scandata signals D₁, while the plastic filter lens 69 appears red to thehuman eye by virtue of the fact that plastic filter lens 69 only permitstransmission of optical radiation from slightly below 670 nonometers.

Having described the detailed structure and internal functions ofautomatic bar code symbol reading device 2 of the first illustrativeembodiment of the present invention, the operation of the systemcontroller thereof will now be described while referring to Blocks A toCC in FIGS. 8A to 8E, and the system block diagram shown in FIG. 4.

Beginning at the START block of Main System Control Routine No. 1 andproceeding to Block A, bar code symbol reading device 2 is initialized.This involves continuously activating (i.e., enabling) IR sensingcircuit 10A and the system controller. The system controller, on theother hand, deactivates (i.e., disables) the remainder of activatablesystem components, e.g., laser diode 47, scanning motor 50,photoreceiving circuit 12, A/D conversion circuit 13, bar code presencedetection module 14, bar code scan data range detection module 15,symbol decoding module 16, data format conversion module 17, datastorage unit 18, and data transmission circuit 19. All timers T₁, T₂,T₃, T₄ and T₅ (not shown) maintained by the system controller are resetto t=0.

Proceeding to Block B, the system controller checks to determine whethercontrol activation signal A₁ =1 is received from IR sensing circuit 10A.If this signal is not received, then the system controller returns tothe START block. If signal A₁ =1 is received, indicative that an objecthas been detected within the object detection field, then the systemcontroller proceeds to Block C, at which timer T₁ is started and ispermitted to run for a preset time period, e.g., O≦T₁,≦3 seconds, andtimer T₂ is started and permitted to run for a preset time period 0≦T₂≦5 seconds.

Proceeding to Block D, the system controller activates laser diode 47,scanning motor 50, photoreceiving circuit 12, A/D conversion circuit 13and bar code presence detection module 14 in order to collect andanalyze scan data signals for the purpose of determining whether or nota bar code is within the scan field. Then, at Block E, the systemcontroller checks to determine whether control activation signal A₂ =1is received from bar code presence detection module 14 within timeperiod 1≦T₁ ≦3 seconds. If activation control signal A₂ =1, is notreceived within this period, indicative that a bar code is not withinthe scan field, then the system controller proceeds to Block F. At BlockF, the system controller deactivates laser diode 47, scanning motor 50,photoreceiving circuit 12, A/D conversion circuit 13 and bar codepresence detection module 14. Then the system controller remains atBlock G until it receives control activation signal A₁ =0 from IRsensing circuit 10A, indicative that the object is no longer in theobject detection field. When this condition exists, the systemcontroller returns to the START block.

If, however, the system controller receives control activation signal A₂=1 within time period O≦T₁ ≦3 seconds, indicative that a bar code hasbeen detected, then the system controller proceeds to Block H. As willbe described hereinafter, this represents a state transition from barcode presence detection to bar code reading. Proceeding to Block H, thesystem controller continues activation of laser diode 47, scanning motor50, photoreceiving circuit 12, and A/D conversion circuit 13, andcommences activation of symbol decoding module 14. At this stage, freshbar code scan data is collected and is subject to decode processing. Atessentially the same time, at Block I, the system controller startstimer T₃ to run for a time period O≦T₃ ≦1 second.

As indicated at Block J, the system controller checks to determinewhether control activation signal A₃ =1 is received from the symboldecoding module 16 within T₃ =1 second, indicative that a bar codesymbol has been successfully read (i.e., scanned and decoded) within theallotted time period. If control activation signal A₃ is not receivedwithin the time period T₃ =1 second, then at Block K the systemcontroller checks to determine whether control activating signal A₂ =1is received within time period O≦T₃ ≦3 seconds. If a bar code symbol isnot detected within this time period, then the system controllerproceeds to Block L to deactivate laser diode 47, scanning motor 50,photoreceiving circuit 12, A/D conversion circuit 13, bar code presencedetection module 14 and symbol decoding module 16. Notably, this eventcauses a state transition from bar code reading to object detection.Thereafter, at Block M the system controller remains in the objectdetection state awaiting control activation signal A₁ =O, indicativethat an object is no longer in the object detection field. When thiscondition exists, the system controller returns to the START block, asshown.

If at Block K, however, the system controller receives controlactivation signal A₂ =1, indicative that a bar code once again is withinthe scan field then the system controller checks to determine whethertime period T₂ has elapsed. If it has, then the system controllerproceeds to Block L and then to the START block by way of Block M. If,however, time period O≦T₂ ≦5 seconds has not elapsed, then the systemcontroller resets timer T₃ to run once again for a time period O≦T₃ ≦1second. In essence, this provides the device at least anotheropportunity to read a bar code present within the scan field when thesystem controller is at control Block J.

Upon receiving control activation signal A₃ =1 from symbol decodingmodule 16, indicative that a bar code symbol has been successfully read,the system controller proceeds to Block O. At this stage of the systemcontrol process, the system controller continues to activate laser diode47, scanning motor 50, photoreceiving circuit 12 and A/D conversioncircuit 13, while deactivating symbol decoding module 16 and commencingactivation of data format conversion module 17, data storage unit 18 anddata transmission circuit 19. These operations maintain the scanning ofthe laser beam across the scan field, while symbol character data isappropriately formatted and transmitted to data collection device 3, ora host device, by a conventional data communication process well knownin the art.

After transmission of symbol character data to the host device iscompleted, the system controller enters Block P and continues activationof laser diode 47, scanning motor 50, photoreceiving circuit 12 and A/Dconversion circuit 13, while deactivating symbol decoding module 16,data format-conversion module 18, data storage unit 18 and datatransmission circuit 19. To detect the continued presence of an objectwithin the object detection field, the system controller checks at BlockQ whether control activation signal A₁ =1 is received from IR sensingcircuit 10A. If A₁ =O, indicative that the object is no longer in theobject detection field, then the system controller returns to the STARTblock. If control activation signal A₁ =1 is received, then at Block Rthe system controller activates bar code presence detection module 14.These events represent once again a state transition from objectdetection to bar code symbol presence detection.

At Block S, the system controller starts timer T₄ to run for a timeperiod O≦T₄ ≦5 seconds, and timer T₅ to run for a time period O≦T₅ ≦3seconds. Then to determine whether a bar code symbol has been detectedwithin the scan field, system controller proceeds to Block T to checkwhether control activation signal A₂ =1 is received. If this signal isnot received with the time period O≦T₅ ≦5 seconds, indicative that nobar code symbol is present in the scan field, the system controllerproceeds to Block U, at which it deactivates laser diode 47, scanningmotor 50, photoreceiving circuit 12, A/D conversion circuit 13 and barcode presence detection module 14. Thereafter, the system controllerremains at Block V until the object leaves the object detection field(i.e., receives control activation signal A₁ =0), at which time thesystem controller returns to the START block, as shown.

If, however, at Block T control activation signal A₂ =1 is received,indicative that a bar code symbol has been detected in the scan field,the system controller proceeds through Blocks W and X to reactivate thesymbol decoding module and start timer T₆ to run for a time period O≦T₆≦1 second. These events represent a state transition from bar codesymbol presence detection to bar code symbol reading. At Block Y, thesystem controller checks to determine whether control activation signalA₃ =1 is received from signal decoding module 16 within time period O≦T₆≦1 second. If a bar code symbol is not successfully read within this 1second time period, the system controller returns to Block T to form afirst loop, within which the device is permitted to detect or redetect abar code symbol within the time period O≦T₄ ≦5 seconds. If a bar codesymbol is decoded within this time interval, the system controllerdetermines at Block Z whether the decoded bar code symbol is differentfrom the previously decoded bar code symbol. If it is different, thenthe system controller returns to Block O as illustrated, to format andtransmit symbol character data as described hereinabove.

If, however, the decoded bar code symbol is not different than thepreviously decoded bar code symbol, then at Block AA the systemcontroller checks to determine whether timer T₄ has lapsed. If it hasnot lapsed, the system controller returns to Block T to form a secondloop, within which the device is permitted to detect or redetect a barcode symbol in the scan field and then successfully read a valid barcode symbol within the set time interval O≦T₄ ≦5 seconds. If, however,timer T₄ lapses, then the system controller proceeds to Block BB atwhich the system controller deactivates laser diode 47, scanning motor50, photoreceiving circuit 12, A/D conversion circuit 13, bar codepresence detection module 14, and symbol decoding module 16. Thereafter,the system controller remains at Block CC until control activationsignal A₁ =O is received from IR sensing circuit 10A, indicative thatthe object detection field is free of any objects. At this stage, thesystem controller returns to the START block, as shown in FIG. 8B.

The operation of automatic bar code symbol reading device 2 has beendescribed in connection with Main System Control Routine No. 1 whichuses control activation signals A₁, A₂ and A₃. This system controlroutine operates on two basic assumptions concerning IR sensing circuit10A and bar code symbol presence detection module 14. Specifically, MainSystem Control Routine No. 1 assumes that the IR sensing circuitproduces control activation signal A₁ =1 whenever an object is detectedanywhere within the operative detection range of the object detectionfield. It also assumes that the bar code symbol presence detectionmodule produces control activation signal A₂ =1 whenever a bar codesymbol is detected anywhere within the operative scanning range of thescan field. These assumptions cause state transitions in the operationof the automatic bar code symbol reading device, when otherwise they maynot be desired in particular applications.

For example, in some applications it may not be desirable toautomatically advance the symbol reading device to its bar code presencedetection state until an object bearing a bar code is brought within theshort range of the object detection field, as hereinbefore described.Also, it may not be desirable to automatically advance bar code symbolreading state until a detected bar code symbol is located within theshort range of the scanning field as hereinbefore described. In someinstances, it may be desirable to condition transitions from (i) objectdetection to bar code symbol presence detection transitions as well as(ii) bar code symbol presence detection to bar code symbol readingtransitions. Yet, in other instances, it may only be desirable tocondition one of operation state transitions.

FIGS. 9A to 9C illustrate a System Control Routine which provides theautomatic bar code symbol reading devices of the present invention withrange selection capabilities for both object and bar code presencedetection. Two of the diverse functions provided, when the systemcontroller runs this System Control Routine, are illustrated in FIGS. 7Athrough 7C. Notably, the System Control Routine of FIGS. 9A to 9Cutilizes Main System Control Routine No. 1 of FIGS. 8A and 8E which hasbeen described above. It is understood, however, that it may be adaptedfor use with other system control programs, such as Main System ControlRoutine No. 2 of FIGS. 12A to 12C, to be described hereinafter inconnection with the second illustrative embodiment.

Beginning at the START block and proceeding to Block A' of FIG. 9A, thesystem controller initially selects the long range object detection modeby letting the IR sensing circuit to operate at full sensitivity (i.e.,E_(IRT) =O). To determine if the short range mode of object and bar codesymbol presence detection has been selected, the system controllerproceeds to Block B' and determines whether it has received controlactivation signal A₄ =1. As described hereinbefore in connection withFIG. 4, activation signal A₄ =1 can be generated in at least twopossible ways. For example, the short range mode of object and bar codepresence detection may be manually selected by depressing switch 21 onthe housing using the ones thumb. Alternatively, the short range modemay be selected by lifting the device out from housing support stand 57,as illustrated in FIG. 7B. In either case, prior to operating the symbolreading device, either the manual or automatic mechanism for the modeselection is set with the system controller.

If control activation signal A₄ =1 is received at Block B', then thesystem controller selects short range object detection by desensitizingthe IR sensing circuit. This is achieved by providing mode selectionenable signal E_(IRT) =1 as hereinbefore described. Then proceeding toBlock D', the system controller enters the START block of Main SystemControl Routine of, for example, FIGS. 8A and 8B. Thereafter, thecontrol flow proceeds as prescribed by the Main System Control RoutineNo. 1. Notably, whenever the control flow in the Main System ControlRoutine returns to the START block therein, the system controller willexit Main System Control Routine No. 1 and return to the START block ofSystem Control Routine of FIGS. 9A and 9B.

As illustrated at Block E' of FIG. 9B, whenever the control flow is atBlocks D, I or R in the Main System Control Routine, the systemcontroller activates bar code presence detection 14 module and bar codescan range detection module 15. Thereafter, while at any one of thesecontrol blocks, the bar code scan range detection module processes scandata signal D₂ so as to produce digital count and sign data ashereinbefore described. As indicated at Block F', an additionalcondition is placed on control Blocks E, K and T in the Main SystemControl Routine, so that a transition from the bar code presencedetection state to the bar code reading state occurs only if (i) theobject is detected in the short range portion of the object detectionfield and (ii) the bar code is detected in the short range portion ofthe scan field. Specifically, when at any one of such blocks in the MainSystem Control Routine and the system controller receives controlactivation signal A₂ =1, then the system controller will also determinewhether the digital count data of the detected bar code is within theshort range count interval. If the digital count data produced indicatesthat the detected bar code symbol is not located within the prespecifiedshort range of the scan field, then as indicated at Block H' of FIG. 9B,the system controller proceeds to Blocks F, L or U, respectively, in theMain System Control Routine. If, however, the digital count dataproduced indicates that the detected bar code symbol is located withinthe short range of the scan field, then as indicated at Block G' of FIG.9C, the system controller proceeds to Blocks H, N or W, respectively, inthe Main System Control Routine. In such instances, detection of a barcode symbol in the scan field is insufficient to effect a statetransition to the bar code reading.

Turning attention to Block B' of FIG. 9A, the system controller may notreceive control activation signal A₄ =1 from IR sensing circuit, asindicated at this block. In some embodiments neither switch 21 ormagnetic field sensing circuit 20 may be activated, or provided in theautomatic bar code reading device. In such embodiments having short/longrange selection capabilities, symbol decoding module 16 can be adaptedto recognize predesignated bar code symbols which automatically activateand deactivate long and/or short range modes of object and/or bar codepresence detection. As will become apparent hereinafter, this type ofautomatic mode selection is highly advantageous when reading, forexample, bar coded menus and the like.

As indicated at Block I' of FIG. 9A, absent receipt of controlactivation signal A_(4A) =1 at Block B', the system controller selects(i.e., maintains) the long range object detection mode by letting IRsensing circuit 10A operate at full sensitivity (i.e., E_(IRT) =O). Thenat Block J', the system controller enters the START block of Main SystemControl Routine of FIGS. 8A and 8B, as hereinbefore described inconnection with Block D' of FIG. 9B. As indicated at Block K', beforeentering Block O of the Main System Control Routine, the systemcontroller determines whether the successfully read bar code symbol is abar code which has been predesignated to activate the short range barcode presence detection mode. This is achieved by checking whether thesystem controller receives mode activation signal A₄ =1 from symboldecoding module 16 as shown in FIG. 4. If mode activation signal A₄ =0is received by the system controller, then as indicated at Block L' thesystem controller proceeds to Block O of the Main System ControlRoutine. If, however, mode activation signal A.sub. 4 =1 is, received,then as indicated at Block M' the system controller selects the shortrange mode of object detection by desensitizing IR sensing circuit 10A(i.e., E_(IRT) =O). This operation ensures that control activationsignal A₁ is produced only when an object is detected within the shortrange of the object detection field, as illustrated in FIGS. 3 and 3A.

As indicated at Block N' of FIG. 9B, the short range mode of bar codepresence detection is indicated by the system controller by activatingboth bar code presence detection module 14 and bar code scan rangedetection module 15 whenever the system controller is at Block D, I orR, respectively, in the Main System Control Routine. In this way, thebar code scan range detection module analyzes digital sign and countdata from each detected bar code system to determine the range of thedetected bar code in the scan field.

As indicated at Block O', an additional condition is placed on controlBlocks E, K and T in the Main System Control Routine. This conditionensures that a transition from the bar code presence detection state tothe bar code reading state occurs only if the object is detected in theshort range portion of the object detection field and the bar codesymbol is detected in the short range portion of the scan field. This isachieved by requiring the system controller to determine whether or notthe digital count data of the detected bar code is within theprespecified short range count interval. If the digital count data ofthe detected bar code symbol is not within the short range countinterval, then as indicated at Block O', the system controller proceedsto control Blocks F, L or U, respectfully, in the Main System ControlRoutine as previously indicated in Block H'. If, however, the digitalcount data is within the prespecified short range count interval, thenmode activation control signal A_(4B) =1 is provided to the systemcontroller as illustrated in FIG. 4. In this instance, A_(4A) =1 andA_(4B) =1, and thus bar code presence detection module 14 providescontrol activation signal A₂ =1 to the system controller in order toeffectuate a transition to the bar code symbol reading state. Theseevents are represented at Block P' of FIG. 9C by the system controllerproceedings to Blocks H, N or Y, respectively, in the Main SystemControl Routine. Then as indicated at Block Q' of FIG. 9C, the systemcontroller checks to determine whether the successfully read bar codesymbol is a bar code predesignated to deactivate the short rangedetection mode. If the read bar code symbol is a short-range modedeactivation bar code, then as indicated at Block R', the systemcontroller selects the long range object detection mode by letting IRsensing circuit 10A operate at full sensitivity (i.e., E_(IRT) =0).Then, as indicated at Block S', system controller exits Main SystemControl Routine No. 1 and returns to the START block of System ControlRoutine of FIGS. 9A to 9C. If, however, the read bar code symbol is nota short range mode deactivation bar code, then as indicated at Block T',the system controller proceeds to Block O in the Main System ControlRoutine. The bar code symbol reading device of the present inventionwill then remain in the short-range detection mode until it reads ashort-range mode deactivation symbol.

Referring now to FIGS. 1, and 10A through 13 in particular, the secondembodiment of the automatic bar code reading device of the presentinvention, will be described.

Automatic bar code symbol reading device 2' comprises the identicalhand-holdable housing illustrated in FIGS. 1, 3 and 3A and describedhereinabove. Thus, similar structure or elements are indicated with likereference numbers throughout these drawings. The object detection andscan fields produced by the device of the second embodiment areessentially identical in the functional sense, although they aredifferent in geometrical terms which will be described below.

As illustrated in FIG. 10B, the geometrical characteristics of theobject detection field provided in bar code reading device 2' issubstantially wider in three-dimensional space that is shown in FIGS. 3and 3A, while the geometry of the scan field is essentially the same.The reason for the difference in geometry and dimensions of the objectdetection field in the second illustrative embodiment is attributed tothe fact that reflected IR object sensing energy (emitted from centrallydisposed IR LED 28) is permitted to pass through IR transparent window69 and be collected within the head portion of the housing using thesame optics employed in the collection of reflected laser light from thescan field. While the width dimensions of the scan field are essentiallyequal to the width dimensions of the object detection field in thisembodiment, the object detection field represented in FIG. 10A has beenillustrated slightly narrower strictly for purposes of clarity inexposition.

To more fully appreciate the mechanisms employed in providing the objectdetection and scan fields of bar code symbol reading device 2',reference is best made to the operative elements within thehand-holdable housing.

As shown in FIG. 11, bar code symbol reading device of the secondillustrative embodiment comprises essentially identical systemcomponents used in the first illustrative embodiment schematicallyrepresented in FIG. 4. Thus, similar elements are indicated with likereference numbers throughout these drawings. Notably, however, there areseveral significant structural differences with respect to laserscanning circuit 11' and photoreceiving circuit 12' which will bepointed out below.

As illustrated in FIG. 11, scanning circuit 11' comprises a solid-statevisible laser diode 47 which is driven by a conventional VLD drivercircuit 48. In order to scan the laser beam output from laser diode 47over a scan field having a predetermined spatial extent in front of thehousing head portion, a polygonal scanning mirror 71 is rotated ateither a low or high angular velocity (i.e., speed) by scanning motor 72driven by a dual speed driver circuit 73, as shown.

To selectively activate laser diode 47, the system controller provideslaser enable signal E_(L) to laser driver circuit 48, whereas toactivate scanning motor 72 at high or low speed, the system controllerprovides scanning motor driver circuit 73 motor enable signals E_(MH) orE_(ML), respectively. With this scanning arrangement, the systemcontroller can selectively operate scanning circuit 11' andphotoreceiving circuit 12' in at least two ways. For example, when isE_(L) =1 and motor enable signals are E_(MH) =1 and E_(ML) =O, a laserbeam is generated from laser diode 47 and polygonal scanning mirror 71is rotated at high speed. In response, the laser beam is scanned throughthe transmission aperture and across the scan field at a scan-line rateproportional to the speed of the scanning motor and the radial distanceof the beam from the scanning mirror surface. Alternatively, using thisscanning mechanism, polygonal scanning mirror 71 can be rotated at aslow speed while laser diode 47 is deactivated. This can be achieved bythe system controller providing laser enable signal E_(L) =O to laserdriver circuit 48' and motor enable signals E_(MH) =O and E_(ML) =1 todriver circuit 73. The utility of this latter scanning function willbecome apparent hereinafter.

In FIG. 10A, the optical arrangement of the system components for thesecond illustrative embodiment is shown. Specifically, visible laserdiode 47 is mounted in the rear corner of circuit board 75, installedwithin the head portion of the housing. A stationary concave mirror 76is mounted controlling at the first end of the circuit board, forprimarily collecting laser light. Notably, the height of concave mirror76 is such as not to block transmission aperture 6. Mounted off centeronto the surface of concave mirror 76, is a very small second mirror 77for directing incident laser beam from laser diode 47 to polygonalmirror 71 which is connected to the shaft of scanning motor 72, forjoint rotational movement therewith. As shown, scanning motor 72 ismounted centrally at the rear end portion of the circuit board. In theopposite rear corner of the circuit board, photoreceiver 54 and IRdetecting photodiode 31 are mounted in a contiguous manner as shown. Infront of photoreceiver diode 54 and essentially along the optical axisof concave mirror 76, an optical element 78, such as a concave lens, canbe provided to assist concave mirror 76 in focusing collected laserreturn light onto the photoreceiver. If necessary, lens 78 can betreated so as to filter out IR energy collected through the collectionoptics of the system. In addition, focusing lens 30 can be mounted infront of IR detecting photodiode 31 to assist concave mirror infocussing collected IR light onto IR photodiode 34.

In order to flood the object detection field with IR light, IR LED 28and lens 29 are mounted centrally in front of concave mirror 76. Acircular aperture 79 is formed in front opaque panel 7B belowtransmission aperture 6.

To appreciate the functionality of the optical arrangement featured inFIG. 10B, its operation will be described below during object detection,as well as bar code symbol detection and reading.

During object detection operations, laser diode 47 will typically bedeactivated. However, scanning motor 72 is activated so that polygonalmirror 71 is rotated at low speed. At the same time, IR sensing circuit10A is activated so that the object detection field is flooded with IRenergy. In this way, IR energy reflected off an object and passingthrough IR transmissive window 70 will be reflected off slowly rotatingpolygonal mirror 71, directed onto concave mirror 76 and then focusedthrough lens 78 onto IR detecting photo diode 31, illustrated in FIGS. 5and 10B.

During bar code presence detection and reading operations in the secondillustrative embodiment, laser diode 47 and photoreceiving circuit 12'are activated, while scanning motor 72 is driven at high speed. In thisway, laser diode 47 produces a laser beam that is directed in a forwarddirection onto small stationary mirror 77 and is reflected back torotating polygonal mirror 71. Rotating polygonal mirror 71 scans thelaser beam across the scan field. The returning laser light beamreflected from the bar code, is directed back onto rotating polygonalmirror 71 which also acts as a collecting mirror. This rotating mirrordirects the beam to stationary concave mirror 76 at the forward end ofthe housing head portion. The beam reflected from concave mirror 76 isdirected to photoreceiver 47 to produce an electrical signalrepresentative of the intensity of the reflected light.

In FIGS. 10C and 10D, an alternative optical signal collection andprocessing arrangement for automatic bar code symbol reader 2' is shown.Notably, similar structure or elements shown in FIGS. 10A through 10Dare indicated by like reference numbers. According to this alternativeembodiment, during time intervals determined by the system controller(as indicated in FIGS. 12A and 12B), IR return energy and laser returnlight from the object detection and scan fields, respectively, will eachbe (i) passed through wavelength selective transmission window 110; (ii)collected through common optical elements 71 and 76; (iii) passedthrough wavelength selective optical filter system 111; (iv) focused byfocusing lens 112; (v) detected by photoreceiver 54; and subsequentlyconverted and amplified by current-to-voltage amplifier 113 andpreamplifier 114. Using a laser beam having a wavelength of about 670nanometers and IR object sensing energy of about 940 nanometers, thewavelength transmission characteristics of transmission window 110 andoptical filter system 112 will be selected so as to effectively producetwo narrow pass-bands for transmission of IR return energy and laserreturn light to photoreceiver 54. The first narrow pass band will becentered about 940 nanometers for IR return energy, whereas the secondnarrow pass-band will be centered about 670 nanometers for laser returnlight. In an illustrative embodiment, optical filter system 111 can berealized by one or more dielectric or other type filters, the nature ofwhich is well known in the art.

The detected IR signal produced from amplifier 114 during objectdetection is provided to synchronous transmitter/receiver 27, which hasbeen described above. Its function is to compare the detected IR returnsignal with the pulsed IR signal, produced from IR LED 28 andtransmitted through lens 29 as hereinbefore described. As previouslydescribed, the output of synchronous transmitter receiver 27 is controlactivation signal A₁ which is provided to the system controller.

The detected analogue scan data signal D₁, produced from preamplifier114 during bar code presence detection and bar code reading, is providedto A/D conversion unit 13 for signal conversion as hereinbeforedescribed.

In order that common signal processor 115 is operative during the objectdetection, bar code presence detection and bar code reading states, thesystem controller continuously provides enable signal E_(CPE) =1 tocommon signal processor 115, as shown. However, during the bar codepresence detection and bar code reading states, the system controllerprovides IR disable signal E_(IRD) =1 to IR transmitting and receivingcircuit 116, in order to disable the operation thereof. Aside from theabove described modifications to automatic bar code symbol readingdevice 2', the system controller of this illustrative embodiment willoperate in general accordance with the system control program of FIGS.12A to 12E.

Having described the detailed structure and internal functions of theautomatic bar code symbol reading device of the second illustrativeembodiment of the present invention, the operation of the systemcontroller thereof will now be described with reference to Blocks Athrough CC in FIGS. 12A to 12E and the system block diagram shown inFIG. 11.

Beginning at the START block of Main System Control Routine No. 2 andproceeding to Block A, bar code symbol reading device 2' is initialized.This involves continuously activating (i.e., enabling) the systemcontroller. The system controller, on the other hand, activates IRsensing circuit 10A with scanning motor 72 driven at low speed. Inaddition, the system controller deactivates the remainder of activatablesystem components, e.g., laser diode 47, photoreceiving circuit 12', A/Dconversion circuit 13, bar code presence detection module 14, bar codescan data range detection module 15, symbol decoding module 16, dataformat conversion module 17, data storage unit 18, and data transmissioncircuit 19. All timers T₁, T₂, T₃, T₄ and T₅ (not shown) maintained bythe system controller are reset to t=0.

Proceeding to Block B, the system controller checks to determine whethercontrol activation signal A₁ =1 is received from IR sensing circuit 10A.If this signal is not received, then the system controller returns tothe START block. If signal A₁ =1 is received, indicative that an objecthas been detected within the object detection field, then the systemcontroller proceeds to Block C, at which timer T₁ is started and ispermitted to run for a preset time period, e.g., O≦T₁, ≦3 seconds, andtimer T₂ is started and permitted to run for a preset time period 0≦T₂≦5 seconds.

Proceeding to Block D, the system controller activates laser diode 47,scanning motor 72 driven at high speed, photoreceiving circuit 12', A/Dconversion circuit 13 and bar code presence detection module 14 in orderto collect and analyze scan data for the purpose of determining whetheror not a bar code resides within the scan field. Then, at Block E, thesystem controller checks to determine whether control activation signalA₂ =1 is received from bar code presence detection module 14 within timeperiod 1≦T₁ ≦3 seconds. If activation control signal A₂, is not receivedwithin this time period, indicative that a bar code is not within thescan field, then the system controller proceeds to Block F. At Block F,the system controller deactivates laser diode 47, scanning motor 72driven at high speed, photoreceiving circuit 12', A/D conversion circuit13 and bar code presence detection module 14. In addition, the systemcontroller reactivates IR sensing circuit 10A and scanning motor 72driven at slow speed. Then the system controller remains at Block Guntil it receives control activation signal A₁ =0 from the IR sensingcircuit, indicative that the object is no longer in the object detectionfield. The system controller returns to the START block.

If, however, the system controller receives control activation signal A₂=1 within time period O≦T₁ ≦3 seconds, indicative that a bar code hasbeen detected, then the system controller proceeds to Block H. As willbe described hereinafter, this represents a state transition from barcode presence detection to bar code reading. Proceeding to Block H, thesystem controller continues activation of laser diode 47, scanning motor72, photoreceiving circuit 12' and A/D conversion circuit 13, andcommences activation of symbol decoding module 16. At this stage, freshbar code scan data is collected and is subject to decode processing. Atessentially the same time, at Block I, the system controller startstimer T₃ to run for a time period O≦T₃ ≦1 second.

As indicated at Block J, the system controller checks to determinewhether control activation signal A₃ =1 is received from the symboldecoding module 16 within T₃ =1 second, indicative that a bar codesymbol has been successfully read (i.e., scanned and decoded) within theallotted time period. If control activation signal A₃ =1 is not receivedwithin the time period T₃ =1 second, then at Block K the systemcontroller checks to determine whether control activation signal A₂ =1is received within the time period O≦T₃ ≦3 seconds. If a bar code symbolis not detected within this time period, then the system controllerproceeds to Block L to deactivate laser diode 47, scanning motor 72driven at high speed, photoreceiving circuit 12', A/D conversion circuit13, bar code presence detection module 14 and symbol decoding module 16.In addition, the system controller reactivates IR sensing circuit 10Aand scanning motor 72 driven at low speed. Notably, this event causes atransition from bar code reading state to object detection. Thereafter,at Block M the system controller remains in the object detection stateawaiting control activation signal A₁ =O, indicative that an object isno longer in the object detection field. When this condition exists, thesystem controller returns to the START block, as shown.

If at Block K, however, the system controller receives controlactivation signal A₂ =1, indicative that a bar code once again is withinthe scan field, then the system controller checks to determine whethertime period T₂ has elapsed. If it has, then the system controllerproceeds to Block L and then to the START block by way of Block M. If,however, time period O≦T₂ ≦5 seconds has not elapsed, then the systemcontroller resets timer T₃ to run once again for a time period O≦T₃ ≦1second. In essence, this provides the device at least anotheropportunity to read a bar code present within the scan field when thesystem controller returns to control Block J.

Upon receiving control activation signal A₃ =1 from the symbol decodingmodule, indicative that a bar code symbol has been successfully read,the system controller proceeds to Block O. At this stage of the systemcontrol process, the system controller continues to activate laser diode47, scanning motor 72 driven at high speed, photoreceiving circuit 12'and A/D conversion circuit 13, while deactivating symbol decoding module16 and commencing activation of data format conversion module 17, datastorage unit 18 and data transmission circuit 19. These operationsmaintain the scanning of the laser beam across the scan field, whilesymbol character data is appropriately formatted and transmitted to datacollection device 3 by a conventional data communication process, wellknown in the art.

After transmission of symbol character data to data collection device 3is completed, the system controller enters Block P and continuesactivation of laser diode 47, scanning motor 72 driven at high speed,photoreceiving circuit 12' and A/D conversion circuit 13, whilereactivating IR sensing circuit 10A and deactivating symbol decodingmodule 16, data format-conversion module 17, data storage unit 18 anddata transmission circuit 19. To detect the continued presence of anobject within the object detection field, the system controller checksat Block Q whether control activation signal A₁ =1 is received from IRsensing circuit 10A. If A₁ =O, indicative that the object is no longerin the object detection field, then the system controller returns to theSTART block. If control activation signal A₁ =1 is received, then atBlock R the system controller activates bar code presence detectionmodule 14, and deactivates IR sensing circuit 10A. These eventsrepresent once again a transition from object detection to the bar codesymbol presence detection state.

At Block S, the system controller starts timer T₄ to run for a timeperiod O≦T₄ ≦5 seconds, and timer T₅ to run for a time period O≦T₅ ≦3seconds. Then to determine whether a bar code symbol has been detectedwithin the scan field, system controller proceeds to Block T todetermine whether control activation signal A₂ =1 is received. If thissignal is not received with the time period O≦T₅ ≦3 seconds, indicativethat no bar code symbol is present in the scan field, the systemcontroller proceeds to Block U, at which it deactivates laser diode 47,scanning motor 72 driven at high speed, photoreceiving circuit 12', A/Dconversion circuit 13 and bar code presence detection module 14. Inaddition, the system controller reactivates IR sensing circuit 10A andscanning motor 72 driven at low speed. Thereafter, the system controllerremains at Block V until the object leaves the object detection fieldand (i.e., receives control activation signal A₂ =0), at which time thesystem controller returns to the START block, as shown.

If, however, at Block T control activation signal A₂ =1 is received,indicative that a bar code symbol has been detected in the scan field,the system controller proceeds through Blocks W and X to reactivatesymbol decoding module 16 and start timer T₆ to run for a time periodO≦T₆ ≦1 second. These events represent a state transition from the barcode symbol presence detection to bar the code symbol reading. At BlockY, the system controller checks to determine whether control activationsignal A₃ =1 is received from the signal decoding module within timeperiod O≦T₆ ≦1 second. If a bar code symbol is not successfully readwithin this 1 second time period, the system controller returns to BlockT to form a first loop, within which the device is permitted to detector redetect a bar code symbol within the time period O≦T₄ ≦5 seconds. Ifa bar code symbol is decoded within this time interval, the systemcontroller determines at Block Z whether the decoded bar code symbol isdifferent from the previously decoded bar code symbol. If it isdifferent, then the system controller returns to Block O as illustrated,to format and transmit symbol character data as described hereinabove.

If, however, the decoded bar code symbol is not different than thepreviously decoded bar code symbol, then at Block AA the systemcontroller checks to determine whether timer T₄ has lapsed. If it hasnot lapsed, the system controller returns to Block T to form a secondloop, within which the device is permitted to detect or redetect a barcode symbol in the scan field and then successfully read a valid barcode symbol within the set time interval O≦T₄ ≦5 seconds. If, however,timer T₄ lapses, then the system controller proceeds to Block BB, atwhich the system controller deactivates laser diode 47, scanning motor82 driven at high speed, photoreceiving circuit 12', A/D conversioncircuit 13, bar code presence detection module 14 and symbol decodingmodule 16. In addition, system controller reactivates IR sensing circuit10A and scanning motor 72 driven at low speed. Thereafter, the systemcontroller remains at Block CC until control activation signal A₁ =O isreceived from IR sensing circuit 10A, indicative that the objectdetection field is free of any objects. At this stage, the systemcontroller returns to the START block, as shown in FIG. 12E.

Having described the operation of the first and second illustrativeembodiments of the bar code symbol reading device hereof, it will behelpful at this juncture to describe the various conditions which willcause state transitions to occur during the automatic operation of thedevice. In this regard, reference is made to FIG. 13 which provides astate transition diagram for the illustrated embodiments.

As illustrated in FIG. 13, the automatic bar code symbol reading deviceof the present invention has four basic states of operation namely:object detection, bar code symbol presence detection, bar code symbolreading, and symbol character data transmission/storage. The nature ofeach of these states have been described hereinabove in great detail.These four states are schematically illustrated as A,B, C and D,respectively, in the state transition diagram of FIG. 13. Notably, two"extensional states" have also been provided so that the automatic barcode reading devices of the illustrative embodiments are capable ofreading an infinite number of consecutively different bar code symbolswithout returning to the object detection state. These states ofoperation are indicated as E and F and represent bar code presencedetection and bar code symbol reading operations, respectively. Asdescribed above, these operations are employed when attempting toautomatically read one or more consecutively different bar code symbols,that is, after a first bar code symbol has been successfully readutilizing operation states A through C.

As shown in FIG. 13, transitions between the various states areindicated by directional arrows. Besides each of these arrows aretransition conditions expressed in terms of control activation signals(e.g., A₁, A₂ and A₃), and where appropriate, state time intervals(e.g., T₁, T₂, T₃, T₄, T₅ and T₆). Conveniently, the state diagram ofFIG. 13 expresses most simply the four basic and two extensionaloperations occurring during the control flow within the system controlprograms of FIGS. 8A and 8B, and FIGS. 12A and 12B. Significantly, thecontrol activation signals A₁, A₂ and A₃ in FIG. 13 indicate whichevents within the object detection and/or scan fields can operate toeffect a state transition within the allotted time frame(s), whereprescribed.

Referring now to FIGS. 1, 14A through 16B, portable data collectiondevice of the present invention will be described.

As illustrated in FIGS. 14A through 14C, data collection device 3 of theillustrative embodiment comprises a hand-holdable housing 80 whichhouses the operative elements of the device to be described below.Housing 80 has a top panel 80A, bottom panel 80B, front and rear panels80C and 80D, and two opposing side panels 80E and 80F, as shown. A 4×4membrane keypad 81 is mounted through the lower portions of top panel80A for manual entry of alphanumeric type data including, for example,data related to bar code symbols. Notably, a separate switch is providedfor turning the device ON and OFF. Above the keypad, there is mounted anLCD type 1×16 character display 82 for visually displaying dataincluding (i) data being manually entered through keypad 81, (ii)operator messages and (ii) data entry verification messages which willbe described in greater detail hereinafter.

Through front panel 80C adjacent character display 82, data-input anddata-output communications ports 83 and 84, respectively, are provided.As will be described in greater detail hereinafter, data-inputcommunication port 83 is particularly adapted (i) for receiving symbolcharacter data from the data-output communication port of ahand-holdable bar code symbol reading device (e.g., 2 or 2'), and (ii)for simultaneously providing electrical power to the power receivinglines (e.g., 23) thereof, which are physically associated with itsdata-output port (e.g., multi-pin connector plug 25 shown in FIG. 4). Incontrast, data-output communication port 84 is particularly adapted fortransmitting collected symbol character data stored in device 3, throughthe data-input communication port of a data-receiving host device, suchas a point of sale (POS) cash register/computer 85, illustrated in FIGS.7A through 7C.

As shown in FIG. 14C, in particular, data-input communication port 83 isrealized in the illustrative embodiment by a 9 pin female connector,whereas data-output communication port 84 is realized as a 9 pin maleconnector. In this way, the 9 pin male connector 25 used to realize thedata-output communication port of bar code symbol reading devices 2 and2', can be simply plugged into data-input communication port 83 toestablish a physical interface. Preferably hand-threaded screw fasteners(not shown) are provided on the 9 pin male connector 25 to effect asecure interconnection with data-input port 83 during portable bar codesymbol reading applications.

For conveniently supporting the data collection device on the operator'sbody while, for example, taking inventory, a pair of D-rings 88A and 88Bare rotatably mounted to the rear end of the housing. In this way, acord, shoulder strap or belt strap can be attached to the D-rings. Withthis housing support arrangement, the user can simply pickup thehand-holdable data collection device in one hand and manually enter datathrough the keypad using one's thumb while viewing the character displayscreen.

The hand-holdable data collection device includes a battery-powerstorage unit 89 realized, in the illustrative embodiment, as four AAtype 1.5 volt batteries. While not shown, these batteries are containedwithin a battery carrier attached to a hinged panel formed in on thebottom panel 80B of the housing. Access to the battery carrier isachieved simply by opening the hinged panel, which after replacement ofbatteries, can be snapped shut.

Referring to FIG. 15, the various components comprising thehand-holdable data collection device are shown integrated about itssystem controller 90. In the illustrated embodiment, the systemcontroller is implemented by a microprocessor associated with programmemory (e.g., EEPROM) for storing a system control program. Buffermemory (e.g., RAM) and appropriate latching circuitry are typicallyprovided as well in manner well known in the art.

As shown in FIG. 15, the system controller is operably connected withdata entry keypad 81 and character display 82 for entering anddisplaying data, respectively, as hereinbefore described. Data-input anddata-output communication ports 83 and 84 are each operably connected toa communication driver circuit 91 by data transmitting and receivinglines T_(x1) and R_(x1), respectively, as shown. In turn, the systemcontroller is operably connected to communication driver circuit 91 bydata transmitting and receiving lines, T_(x2) and R_(x2), respectively.With this arrangement, data communication protocol and the like can betransacted between (i) bar code symbol reading device connected todata-input communication port 83 and (ii) communication driver circuit91 via data transmitting and receiving lines T_(x1) and R_(x1). Also,this arrangement facilitates transaction of data communication protocoland the like between (i) a host device (e.g., cash register/computer 85)connected to data-output communication port 84, and (ii) communicationdriver circuit 91.

While not shown in FIG. 15 to avoid obfuscation, a conventional andpower distribution circuit will be provided for distributing power fromthe positive side of six volt supply 89, to all power consuming elementswithin the data collection device. In order to generate a twelve (12)volt supply for use within automatic bar code symbol reading devices 2and 2', a power conversion circuit 92 is provided. As illustrated,battery power unit 89 provides a six (6) volt supply to power conversioncircuit 92, generating a twelve (12) volt supply. The six and twelvevolt supply lines are, in turn, provided to a power switching circuit93, which is controlled by the system controller by power switch enablesignal E_(R). The six and twelve volt power lines from power switchingunit 93 are connected to a pair of designated pins within the 9 pindata-input communication port 83, as shown. To detect low battery powerlevels, battery detect circuit 94 is operably connected between thepositive side of battery supply 89 and the system controller.

To determine whether the data-output communication port of a bar codesymbol reader is physically (and electrically) connected to data-inputcommunication port 83 of the data collection device, a bar code readerdetect circuit 95 is operably connected between data-input communicationport 83 and the system controller, as shown. Thus, when bar code readerdetect circuit 95 detects a bar code reader plugged into data-inputcommunications port 83, it will provide a bar code reader detect signalA_(UL) to the system controller. This signal automatically activates thesystem controller to begin initializing for "uploading" of bar codesymbol character data from the bar code reader. Also, bar code readerdetect signal A_(UL) causes the system controller to provide powerswitch enable signal E_(R) to power switching circuit 93, to therebyempower the connected bar code reading device with the six and twelvevolt power supply lines.

Similarly, to determine whether the data-input communication port of ahost device is physically (and electrically) connected to data-outputcommunication port 84 of the data collection device, a host devicedetect circuit 96 is operably connected between data-outputcommunication port 84 and the system controller, as shown. Thus, whenhost device detect circuit 96 detects a host device plugged intodata-output communication port 84, it will provide a host device detectsignal A_(DL) to the system controller which automatically activates thesystem controller to begin initializing for "downloading" of collectedbar code symbol character data, from the data collection device into thehost device. To permit the host device to supply power to the datacollection device during data downloading operations, and thus conservebattery power, a power supply line 97 is provided between a pin ofdata-output communication port 84 and the positive side of batterysupply 89. To restrict power flow from the host device to the datacollection device, a diode 98 is inserted within this power supply line97, as shown.

Symbol character data downloaded from a bar code reading device andcollected through data-input communication port 83, is stored within adata storage unit 99, realized in the illustrative embodiment as 32kilobytes of RAM. To facilitate transfer of such data from the systemcontroller to RAM storage unit 99, a data bus 100 is provided, as shown.Also associated with data bus 100 is a non-volatile data storage unit101. The system controller will typically store particular data items,such as set-up parameters and the like, in non-volatile RAM storage unit101 as such data can be retained therein for the lifetime of the datacollection device.

RAM storage unit 99 is protected by a power-fail/protect-RAM circuit 102that is operably associated with a storage capacitor 103, the write lineof RAM storage unit 99 and the system controller. By this circuit 102,RAM storage unit 99 is protected in two ways. Firstly, during powertransitions, circuit 99 inhibits write signals to RAM storage unit 99,and consequently stored symbol character data is protected fromcorruption. Secondly, during periods of battery power failure, circuit102 enables storage capacitor 103 to provide power to RAM storage unit99 for minimally one hour in order to maintain the integrity of storedsymbol character data.

Having described the structure and function of the data collectiondevice of the illustrative embodiment, its versatile operation will nowbe described with reference to the system control program illustrated inFIGS. 16A and 16C.

As indicated in FIG. 16A, upon enabling the POWER-ON switch, the systemcontroller advances to Block A. At Block A, the system controller checksto determine whether the output of host detect circuit 96 indicates thata host device is plugged into data-output communication port 84. If itdoes detect this condition, then the system controller disconnects powersupply 89 from data-input communication port 83 (and thus any bar codesymbol reader connected thereto) by way of power switching circuit 93.Then at Block C, the system controller checks to determine whether thereis any data stored in RAM storage unit 99 for downloading to theconnected host device. If there is no data stored in RAM storage unit99, then the system controller proceeds to Block D, and writes "MEMORYEMPTY" to character display 82. Thereafter, the system controllerremains at Block E until it receives host detect signal A_(DL) =0indicative that the host device is no longer plugged into data-outputcommunications port 84. Upon the occurrence of this event, the systemcontroller returns to Block A, as shown.

If, at Block C, the system controller determines that there is datastored in RAM storage unit 99 for downloading into the host device, thenat Block F the system controller writes "TO COM HIT ENTER" to characterdisplay 82. At Block G, the system controller polls the keypad for theoccurrence of a key press operation, and at Block H determines whetherthe ENTER key has been pressed. If any key other than the ENTER ispressed, then the system controller returns to control Block A. If theENTER key is pressed, the system controller writes "TRANSMITTING" tocharacter display 82, and then at Block J downloads data from RAMstorage unit 99 to the host device connected to data-outputcommunication port 84. At Block Y, the system checks to determine if alldata in RAM storage unit 99 has been transmitted, and if so, writes"MEMORY EMPTY" or "DOWNLOAD COMPLETE" to character display 82, asindicated at Block D. Thereafter, the system controller remains at BlockE until the host device is disconnected from data-output communicationport 84, and thereupon returns to Block A.

If it is determined at Block K that data transfer from RAM storage unit99 is not complete, then as indicated at Block L, the system controllerchecks to determine whether the host device is still connected todata-output communication port 84 (i.e., A_(DL) =1). If host device hasbeen disconnected (i.e., A_(DL) =0), then the system controller returnsto Block A, as shown. If, on the other hand, the host device remainsconnected to data-output communications port 84, the system controllerreturns to Block J to form a control loop within which the systemcontroller will remain so long as there remains data in RAM storage unit99 and the host device remains connected to data-output communicationport 84.

As indicated at Block A, if the system controller does not receive hostdetect signal A_(DL) =1 from host detect circuit 96, indicative that ahost device is plugged into the data-output communication port, then thesystem controller proceeds to Block M. At Block M, the system controllerfirst checks the output of low battery circuit 94 to determine thatsufficient power is available to energize a bar code symbol readingdevice if plugged into data-input communication port 83. If insufficientbattery strength is indicated, then at Block N the system controllerdisconnects battery power supply 89 from data-input communication port93 by way of power switching circuit 94. Thereafter at Block O, thesystem controller writes "LOW BATTERIES" to character display 82. Thesystem controller remains at Block P until it receives host detectsignal A_(DL) =1, indicative that the host device is plugged intodata-output communication port 84. If so, the system controller advancesto Block C, as hereinbefore described. Notably, this choice of controlflow is based on the fact that, during data downloading operations,power is supplied to the data collection device by the host device, andthe battery level of the data collection device is of no consequenceduring such operations.

If, however, at Block M low battery level is not detected, then thesystem controller proceeds to Block Q. At Block Q, the system controllerchecks the output of bar code reader detect circuit 95 to determinewhether a bar code reader is plugged into data-input communication port83. If the system control receives bar code reader detect signal A_(UL)=O, then at Block R system controller writes "PLUG-IN READER" tocharacter display 82. Thereafter, the system controller returns to BlockA, as shown. If the system controller receives A_(UL) =1, indicativethat a bar code reader is plugged into data-input communication port 83,then the system controller writes "READY TO READ" to character display82, as indicated at Block S.

At Block T, the system controller polls both communication driver (i.e.,receiver) circuit 91 and keypad 81 for entry of data. If either of thesesystem components indicate receipt of data to be stored (e.g., from abar code reader or the keypad), then as indicated at Blocks U through V,the system controller uploads such data by first writing the data tocharacter display 82, and then storing the data in RAM storage unit 99.Then, at Block W, the system controller determines whether RAM storageunit 99 is filled to capacity. If it is, then at Block X the systemcontroller writes "MEMORY FULL" to character display 82 and thereafterremains at Block Y until it receives host detect signal A_(DL) =1,indicative that a host device is connected to data-output communicationsport 84 for downloading collected data thereto. If a host device isdetected at the data-output communications port 84, the systemcontroller proceeds to Block C for participating in downloading of acollection data, in a manner described above.

If, as indicated at Block W, the system controller determines that RAMstorage unit 99 is not full, then the system controller returns to BlockT. at which it checks again for incoming data over either the receivinglines R_(x2) of communication driver circuit 91 (i.e., bar code readerinput) or from the keypad. If there is incoming data from either ofthese system components, then the system controller proceeds to Blocks Uand V for participating in data uploading, as described above. Thesystem controller will follow this control loop provided that data ispresented for collection and RAM storage unit 99 has vacant memorystorage space.

If at Block T, the system controller determines that no data is beingpresented for collection, then at Block Z it checks the battery powersupply level of the battery supply unit 89. If a low battery level isdetected, then the system controller proceeds to Blocks N, O and Pdescribed above. At these control blocks, power supply to data-inputcommunication port 93 is disconnected in order to terminate power to theconnected bar code reading device, and the "LOW BATTERIES" message iswritten to character display 82. If, however, a low battery level is notdetected, then the system controller determines at Block AA whether anyincoming data has been presented for collection (i.e., by datauploading) within a predetermined time period (e.g., 2 minutes). If nodata has been presented for uploading, then as indicated at Block BB,the system controller "turns off" the connected bar code reader bydisconnecting the supply of battery power to data-input communicationport 83 by way of power switching circuit 93. Thereafter, as indicatedat Block CC, the system controller writes "HIT KEY TO READ" message tocharacter display 82. Then at Block DD, the system controller polls thekeypad for a key press operation. If any key is pressed, the systemcontroller remains in a control loop between Blocks DD and EE anddetermines whether a key has been pressed, or a host device has beenconnected to data-output communication port 84. If the system controllerreceives host detect signal A_(DL) =1 indicative that a host device isplugged into data-output communication port 84, the system controllerthen proceeds to Block C, automatically enabling the data collectiondevice for participation in the downloading of collected data, in amanner described above.

In the event that the operator desires to clear RAM storage unit 99 ofcollected data, the operator must enter a preset code word oralphanumeric code by way of keypad 81. This feature prevents accidentalerasure of collected data.

Notably, the data collection device of the present invention does notrequire programming for data transfers. Instead, data uploading routinesare programmed into data transmission circuit 19 of automatic bar codereading devices 2 and 2'. On the other hand, data downloading routinesare programmed into the host data receiver. Preferably, thesedownloading routines are designed to accept downloaded symbols andcreate an ASC11 file.

The data collection device described above and the automatic bar codereading devices of the present invention provides an ultra-lightweight,fully portable bar code symbol reading system characterized bysimplicity of operation, high-speed symbol recognition and versatility.The automatic bar code symbol reading device of the present inventionhas been provided with a wide variety of complex decision-makingoperations which accord the automatic bar code symbol reading system ofthe present invention with a level of intelligence hitherto unattainedin the bar code symbol reading art. Within the spirit of the presentinvention, additional decision-making operations may be provided tofurther enhance the capabilities of the system.

While the particular illustrative embodiments shown and described abovewill be useful in many applications in code symbol reading, furthermodifications to the present invention herein disclosed will occur topersons skilled in the art. All such modifications are deemed to bewithin the scope and spirit of the present invention defined by theappended claims.

We claim:
 1. An automatic bar code symbol reading system, comprising:ahand-supportable housing having a light transmission aperture throughwhich visible light can exit and enter into said hand-supportablehousing; object detection means in said hand-supportable housing, fordetecting an object located in a scan field defined external to saidhand-supportable housing, and automatically generating an activationsignal in response to the detection of said object located in said scanfield; activatable scan data producing means in said hand-supportablehousing, for producing scan data from a detected object located in saidscan field, said scan data producing means including, laser beamgenerating means for generating a visible laser beam, means fordirecting said visible laser beam through said light transmissionaperture and into said scan field, laser beam scanning means forrepeatedly scanning said visible laser beam across said scan field and abar code symbol on said detected object, laser light detecting means fordetecting the intensity of laser light reflected off said bar codesymbol and passing through said light transmission aperture as saidvisible laser beam is repeatedly scanned across said scan field and saidbar code symbol on said detected object, and means for automaticallyproducing scan data indicative of said detected intensity; activatablescan data processing means for processing produced scan data so as todetect and decode said bar code symbol on said detected object, andautomatically producing symbol character data representative of saiddecoded bar code symbol; and control means for controlling the operationof said automatic bar code symbol reading system, said control meansincluding means for automatically activating said activatable scan dataproducing means and said activatable scan data processing means for upto a predetermined time period in response to the generation of saidactivation signal, and means for automatically deactivating saidactivatable scan data producing means and said activatable scan dataprocessing means in response to the failure of said scan data processingmeans to detect and decode said bar code symbol on said detected objectwithin said predetermined time period.
 2. The automatic bar code symbolreading system of claim 1, wherein said laser beam generating meanscomprises a laser diode.
 3. The automatic bar code symbol reading systemof claim 1, wherein said bar code symbol has first and second envelopeborders, and wherein said scan data processing means comprises means fordetecting the first and second envelope borders of said bar code symbol,and means for decoding said detected bar code symbol.
 4. The automaticbar code symbol reading system, of claim 1, wherein said objectdetection means comprises means for receiving energy reflected from anobject within an object detection field defined external to said housingand having an essentially volumetric extent, andwherein said scan fieldis characterized by at least one scanning plane having an essentiallyplanar extent, and wherein said object detection field spatiallyencompasses at least a portion of said scan field.
 5. The automatic barcode symbol reading system of claim 1, wherein said laser beamgenerating means is operated in a pulsed laser mode so as to generate apulsed visible laser beam, which is directed through said lighttransmission aperture and repeatedly scanned across said scan field andsaid bar code symbol on said detected object.
 6. The automatic bar codesymbol reading system of claim 1, wherein said scan data processingmeans and said control means are disposed in said hand-supportablehousing.
 7. The automatic bar code symbol reading system of claim 6,wherein said hand-supportable housing comprises a head portion and ahandle portion.
 8. The automatic bar code symbol reading system of claim6, wherein said laser beam producing means comprises a visible laserdiode disposed in said hand-supportable housing.
 9. The automatic barcode symbol reading system of claim 8, wherein said laser lightdetecting means comprises a photodetector disposed in hand-supportablehousing.
 10. The automatic bar code symbol reading system of claim 8,wherein said scan data processing means and said control means comprisesa programmed microprocessor disposed in said hand-supportable housing.11. The automatic bar code symbol reading system of claim 10, whichfurther comprisesa housing support stand for supporting saidhand-supportable housing above a workspace so that said automatic barcode symbol reading system can be used to read bar code symbols onobjects while said hand-supportable housing is supported in said housingsupport stand.
 12. The automatic bar code symbol reading device of claim10, wherein said predetermined time period is greater than about 3seconds.
 13. The automatic bar code symbol reading system of claim 1,wherein said control means further comprises means for automaticallycontinuing activation of said activatable scan data producing means andsaid activatable scan data processing means for an additional timeperiod in response to the detection and decoding of said bar code symbolon said detected object within said predetermined time period to permitdetection and decoding of another bar code symbol on said detectedobject which is different than said bar code symbol detected and decodedwithin said predetermined time period.
 14. An automatic bar code symbolreading system, comprising:a hand-supportable housing having a lighttransmission aperture through which visible light can exit and entersaid hand-supportable housing; an object detection means in saidhand-supportable housing, for detection of an object located within atleast a portion of an object detection field defined external to saidhand-supportable housing; an activatable laser beam source in saidhand-supportable housing for producing, when activated, a visible laserbeam within said hand-supportable housing; laser beam detecting means insaid hand-supportable housing, for directing said visible laser beamthrough said light transmission aperture and into a scan field definedexternal to said housing; an activatable scanning mechanism in saidhand-supportable housing for repeatedly scanning, when activated, saidvisible laser beam across said scan field and a bar code symbol on saiddetected object; light detection means in said hand-supportable housing,for detecting the intensity of laser light reflected off said bar codesymbol as said visible laser beam is repeatedly scanned across said scanfield and said bar code symbol, and for automatically producing scandata indicative of the detected intensity of said reflected laser light;scan data processing means for processing produced scan data so as todetect and decode said bar code symbol on said detected object, and upondetecting and decoding said bar code symbol on said detected object,automatically producing symbol character data representative of saiddecoded bar code symbol; control means for controlling the operation ofsaid automatic bar code symbol reading system, said control meansincluding means for automatically activating said activatable laser beamsource and said activatable scanning mechanism for up to a predeterminedtime period in response to the generation of said activation signal, andmeans for automatically deactivating said activatable laser beam sourceand said activatable scanning mechanism in response to said scan dataprocessing means failing to detect and decode said bar code symbol onsaid detected object within said predetermined time period.
 15. Theautomatic bar code symbol reading device of claim 14, wherein said lightdetection means has an operative scanning range measured from saidtransmission aperture out towards a region within said scanfield,wherein said scan field is characterized by at least one scanningplane having an essentially planar extent and said object detectionfield is characterized as having an essentially volumetric extent, andwherein said object detection field spatially encompasses at least aportion of said scan field within the operative scanning range of saidlaser scanning means.
 16. The automatic bar code symbol reading systemof claim 14, wherein said bar code symbol has first and second envelopeborders, and wherein said scan data processing means comprisesmeans fordetecting said first and second envelope borders of said bar codesymbol, and means for decoding said detected bar code symbol.
 17. Theautomatic bar code symbol reading system of claim 16, wherein saidobject detection means includestransmitting means for transmitting apulse signal through a first optical element and into said scan field,signal receiving means for receiving said transmitted pulse signalreflected off said object in said scan field, and signal comparing meansfor comparing said received pulse signal with said transmitted pulsesignal and automatically generating an activation signal indicative ofsaid object in said scan field.
 18. The automatic bar code symbolreading system of claim 14, wherein said hand-supportable housingcomprises a head portion and a handle portion, and wherein said objectdetection means, said activatable laser beam source, said laser beamdirecting means, said activatable scanning mechanism, and said lightdetection means are disposed in said head portion.
 19. The automatic barcode symbol reading system of claim 17, wherein said transmitting meanscomprises an infra-red light source in said hand-supportable housing forproducing infra-red light pulse which are transmitted through said firstoptical element into said scan field, and wherein said receiving meanscomprises an infra-red light detection and a second optical element forfocusing reflected infra-red light pulses onto said infra-red lightdetector.
 20. A method of reading bar code symbols using a an automatichand-supportable unit, comprising the steps:(a) manually supporting saidhand-supportable unit adjacent an object bearing a bar code symbol sothat said object is located within at least a portion of a scan fielddefined external to said hand-supportable unit, and saidhand-supportable unit is disposed in a non-contacting relationship withsaid object; (b) automatically generating an activation signal inresponse to the detection of said object located in said scan field; (c)in response to the generation of said activation signal during step(b),(1) automatically activating for up to a predetermined time period,a laser beam source and an electrically driven scanning element in saidhand-supportable unit so as to produce a visible laser beam which isdirected through a light transmission aperture in said hand-supportableunit and repeatedly scanned across said scan field and said bar codesymbol on said detected object, (2) automatically detecting at saidhand-supportable unit, the intensity of laser light reflected off saidbar code symbol on said detected object, and automatically producingscan data indicative of the detected intensity of said reflected laserlight, and (3) automatically processing produced scan data for up tosaid predetermined time period in order to detect and decode said barcode symbol on said detected object; and (d)(1) upon detecting anddecoding said bar code symbol within said predetermined time periodduring step (c), automatically producing symbol character datarepresentative of said decoded bar code symbol, and (d)(2) upon failingto detect and decode the bar code symbol on said detected object withinsaid predetermined time period during step (c), automaticallydeactivating said laser beam source and said electrically drivenscanning element.
 21. A method of reading bar code symbols using anautomatic hand-supportable unit, comprising the steps:(b) supportingsaid automatic hand-supportable unit adjacent an object bearing a barcode symbol so that said object is located in at least a portion of ascan field defined external to said hand-supportable unit, and saidhand-supportable unit is disposed in a non-contacting relationship withsaid object; (c) transmitting pulsed energy from a pulsed energy sourcein said hand-supportable unit, into at least a portion of said scanfield, and in response to receiving at said hand-supportable unit atleast a portion of said transmitted pulsed energy reflected off saidobject in said scan field, automatically generating an activationsignal; (d) in response to the generation of said activation signalduring step (c),(1) automatically activating for a predetermined timeperiod, a laser beam source and an electrically driven scanning elementin said hand-supportable unit so as to produce a visible laser beamwhich is projected through a light transmission aperture in saidhand-supportable unit and repeatedly scanned across said scan field andsaid bar code symbol on said detected object, (2) automaticallydetecting at said hand-supportable unit, the intensity of laser lightreflected off said bar code symbol on said detected object, andautomatically producing scan data indicative of the detected intensityof said reflected laser light, and (3) automatically processing producedscan data for up to said predetermined time period so as to detect anddecode said bar code symbol on said detected object; and (d)(1) upondetecting and decoding said bar code symbol on said detected objectwithin said predetermined time period during step (c), automaticallyproducing symbol character data representative of said decoded bar codesymbol on said detected object, and (d)(2) upon failing to detect anddecode said bar code symbol on said detected object within saidpredetermined time period during step (c), automatically deactivatingsaid laser beam source and said electrically driven scanning element.22. The method of claim 21, wherein said pulsed energy is a pulsedinfra-red light signal, and step (b) comprises transmitting saidinfra-red light signal from said hand-supportable unit into at least aportion of said scan field, and automatically generating said activationsignal in response to the detection of said transmitted infra-red lightsignal reflected off said object located in said scan field.
 23. Themethod of claim 21, wherein said bar code symbol has first and secondenvelope borders, and wherein step (c)(3) comprises processing producedscan data so as to detect said bar code symbol by detecting the firstand second envelope borders of said bar code symbol.
 24. An automaticbar code symbol reading system, comprising:a hand-supportable housinghaving a light transmission aperture through which visible light canexit and enter said hand-supportable housing; object detection means insaid hand-supportable housing, for transmitting a pulsed infra-red lightsignal from adjacent said aperture, outwardly into at least a portion ofan object detection field defined external to said hand-supportablehousing, and for automatically generating a first activation signal inresponse to the detection of said transmitted infra-red light signalreflected off an object located in said object detection field; scanningmeans in said hand-supportable housing, for producing a visible lightbeam within said hand-supportable housing and for directing said visiblelight beam through said light transmission aperture, and repeatedlyscanning said visible light beam across a scan field defined external tosaid hand-supportable housing, and a bar code symbol on said detectedobject; light detection means in said hand-supportable housing, fordetecting the intensity of light reflected off said bar code symbol andpassing through said light transmission aperture, and automaticallyproducing scan data indicative of the detected light intensity; firstprocessing means for processing produced scan data so as to detect saidbar code symbol on said detected object, and automatically generating asecond activation signal in response to the detection of said bar codesymbol on said detected object; second processing means for processingproduced scan data so as to decode said detected bar code symbol, andautomatically producing symbol character data representative of saiddecoded symbol in response to the decoding of said detected bar codesymbol; and control means for controlling the operation of saidautomatic bar code symbol reading system, said control means includingmeans for automatically activating said scanning means, said lightdetection means and said first processing means for up to a firstpredetermined time period in response to the generation of said firstactivation signal, and means for automatically activating said scanningmeans, said light detection means and said second processing means forup to a second predetermined time period in response to the generationof said second activation signal.
 25. The automatic bar code symbolreading system of claim 24, wherein said visible light beam is a visiblelaser beam, and wherein said scanning means comprisesa laser diodedisposed in said hand-supportable housing for producing said visiblelaser beam, and an electrically driven scanning element for repeatedlyscanning said laser beam across said scan field and said bar code symbolon said detected object.
 26. The automatic bar code symbol readingsystem of claim 25, wherein control means further comprisesmeans forautomatically deactivating said scanning means, said light detectionmeans and said first processing means in response to said firstprocessing means failing to generate said second activation signalwithin said first predetermined time period.
 27. The automatic bar codesymbol reading system of claim 26, wherein said control means furthercomprises means for automatically deactivating said scanning means, saidlight detection means and said second processing means in response tosaid second processing means failing to decode said detected bar codesymbol on said detected object within said second predetermined timeperiod.
 28. The automatic bar code symbol reading system of claim 26,wherein said hand-supportable housing comprises a head portion andhandle portion, and wherein said object detection means and saidscanning means are disposed in said head portion.
 29. The automatic barcode system reading system of claim 24, wherein said scanning means hasan operative scanning range measured from said transmission aperture outtowards a region within said scan field,wherein said scan field ischaracterized as having at least one scanning plane having anessentially planar extent and said object detection field ischaracterized as having an essentially volumetric extent, and whereinsaid object detection field spatially encompasses at least a portion ofsaid scan field within said operative scanning range of said laserscanning means.
 30. An automatic bar code symbol reading system,comprising:a hand-supportable housing having a light transmissionaperture through which visible light can exit and enter saidhand-supportable housing; object detection means in saidhand-supportable housing, for automatically detecting an object locatedin an object detection field defined external to said hand-supportablehousing, and automatically generating a first activation signal inresponse to the detection of said object in said object detection field;scan data producing means in said hand-supportable housing for producingscan data from said detected object located in a scan field definedexternal to said hand-supportable housing, said scan data producingmeans having an operative scanning range measured from said transmissionaperture out towards a region within said scan field, said scan fieldbeing characterized by at least one scanning plane having an essentiallyplanar extent, said object detection field being characterized as havingan essentially volumetric extent, and said object detection fieldspatially encompassing at least a portion of said scan field within saidoperative scanning range, said scan data producing means including laserbeam generating means for generating a visible laser beam within saidhand-supportable housing, laser beam scanning means for projecting saidvisible laser beam through said light transmission aperture and forrepeatedly scanning said visible laser beam across said scan field and abar code symbol on said detected object, and laser light detecting meansfor detecting the intensity of laser light reflected off said bar codesymbol and passing through said light transmission aperture, and forautomatically producing scan data indicative of said detected intensity;first processing means for processing produced scan data so as to detectsaid bar code symbol on said detected object, and automaticallygenerating a second activation signal in response to the detection ofsaid bar code symbol; second processing means for processing producedscan data so as to decode said detected bar code symbol, andautomatically producing symbol character data representative of saiddecoded bar code symbol in response to the decoding of said detected barcode symbol; and control means for controlling the operation of saidautomatic bar code symbol reading system, said control means includingmeans for automatically activating said scan data producing means andsaid first processing means for up to a first predetermined time periodin response to the generation of said first activation signal, and meansfor automatically activating said scan data producing means and saidsecond processing means for up to a second predetermined time period inresponse to the generation of said second activation signal.
 31. Theautomatic bar code symbol reading system of claim 30, wherein saidcontrol means further comprises means for automatically deactivatingsaid scan data producing means and said first processing means inresponse to said first processing means failing to generate said secondactivation signal within said first predetermined time period, andmeansfor automatically deactivating said scan data producing means and saidsecond processing means in response to said second processing meansfailing to produce symbol character data within said secondpredetermined time period.
 32. An automatic bar code symbol readingsystem comprising:a hand-supportable housing having a light transmissionaperture through which visible light can exit and enter saidhand-supportable housing; an object detection circuit in saidhand-supportable unit, for receiving energy from an object detectionfield defined external to said hand-supportable housing, andautomatically generating a first activation signal in response to thedetection of energy reflected off an object located in said objectdetection field; a laser beam source in said hand-supportable housingfor producing a visible laser beam within said hand-supportable housing;laser beam directing means for directing said visible laser beam throughsaid light transmission aperture and into said object detection field;an electrically driven scanning element in said hand-supportablehousing, for repeatedly scanning said visible laser beam across a scanfield defined external to said hand-supportable housing, and a bar codesymbol on said detected object; laser light detection means in saidhand-supportable housing, for detecting the intensity of laser lightreflected off said bar code symbol as said laser light beam isrepeatedly scanned across said scan field and said bar code symbol onsaid detected object, and automatically producing scan data indicativeof the detected intensity of said reflected laser light, said lightdetection means having an operative scanning range measured from saidtransmission aperture out towards a region within said scan field; firstprocessing means for processing produced scan data in order to detect abar code symbol disposed on said detected object, and upon detecting abar code symbol on said detected object, automatically generating asecond activation signal; second processing means for processingproduced scan data in order to decode said detected bar code symbol onsaid detected object and upon decoding said detected bar code symbol onsaid detected object, automatically producing symbol character datarepresentative of said decoded bar code symbol; and control means forautomatically controlling the operation of said automatic bar codesymbol reading system, said control means including means forautomatically activating said laser beam source, said electricallydriven scanning element, said laser light detection means and said firstprocessing means for up to a predetermined time period in response tothe generation of said first activation signal, and means forautomatically activating said laser beam source, said electricallydriven scanning element, said laser light detection means and saidsecond processing means for up to a predetermined time period inresponse to the generation of second activation signal.
 33. Theautomatic bar code symbol reading system of claim 32, wherein saidcontrol unit further comprisesmeans for automatically activating saidlaser beam source, said electrically driven scanning element, said laserlight detection means and said first processing means for up to a thirdpredetermined time period only in response to the production of saidsymbol character data within said second predetermined time period,thereby permitting the detection of a second bar code symbol disposed onsaid detected object.
 34. The automatic bar code symbol reading systemof claim 32, wherein said control means further comprises:means forautomatically deactivating said laser beam source and said electricallydriven scanning element in response to the failure of said firstprocessing means to generate said second activation signal within saidfirst predetermined time period.
 35. The automatic bar code symbolreading system of claim 34, wherein said control means furthercomprisesmeans for automatically deactivating said laser beam source andsaid electrically driven scanning element in response to the failure ofsaid second processing means to decode said detected bar code symbolwithin said second predetermined time period.
 36. The automatic bar codesymbol reading system of claim 32, wherein said hand-supportable housingcomprises a head portion and a handle portion, and wherein said objectdetection means, said laser beam source, said laser beam directingmeans, said electrically driven scanning element and said laser lightdetection means are disposed in said head portion.
 37. A method ofreading bar code symbols using an automatic hand-supportable unit havingan operative scanning range, comprising the steps:(a) supporting saidhand-supportable unit adjacent an object bearing a bar code symbol sothat said object is located within at least a portion of an objectdetection field defined external to said hand-supportable unit andhaving an essentially volumetric extent, and said hand-supportable unitis disposed in a substantially non-contacting relationship with saidobject; (b) at said hand-supportable unit, receiving energy reflectedfrom an object in said object detection field and automaticallygenerating a first activation signal in response to the detection ofenergy reflected off said object in said object detection field; (c) inresponse to the generation of said first activation signal,automatically activating for a first predetermined time period by acontrol circuit, a laser beam source and an electrically driven scanningelement in said hand-supportable unit so as to produce a visible laserbeam which is projected through a light transmission aperture in saidhand-supportable housing and repeatedly scanned across a scan field andsaid bar code symbol on said detected object, said scan field beingdefined external to said hand-supportable housing and being spatiallyencompassed by said object detection field along an operative scanningrange; (d) automatically detecting at said hand-supported unit, theintensity of laser light reflected off said bar code symbol on saiddetected object as said visible light beam is scanned across said barcode symbol, and automatically producing a first electrical signalresponsive to the detected intensity of said reflected laser light; (e)automatically processing said first electrical signal for up to saidfirst predetermined time period in order to detect said bar code symbolon said detected object, and upon detecting said bar code symbol on saiddetected object, automatically generating a second activation signal;(f) in response to the generation of said second activation signalwithin said first predetermined time period, automatically continuingfor up to a second predetermined time period, the activation of bothsaid laser beam source and said electrically driven scanning means so asto continue to produce visible laser beam and repeatedly scan saidvisible laser beam across said scan field and said detected bar codesymbol; (g) automatically detecting at said hand-supported unit, theintensity of laser light reflected off said detected bar code symbol,and producing a second electrical signal responsive to the detectedintensity of said reflected laser light; and (h) automaticallyprocessing said second electrical signal for up to said secondpredetermined time period in order to decode said detected bar codesymbol on said detected object, and upon decoding said detected bar codesymbol, automatically producing symbol character data representative ofsaid decoded bar code symbol.
 38. A method of scanning a bar code symbolon an object by use of an automatic hand-supportable bar code symbolscanning device having a hand-supportable housing said method comprisingthe sequence of steps:(a) automatically detecting the presence of saidobject within an object detection field defined external to saidhand-supportable housing, by sensing energy reflected off said object;(b) in automatic response to the determination of said object withinsaid object detection field during step (a), determining the presence ofa code symbol on said object within a scan field defined external tosaid hand-supportable housing, and being spatially encompassed by saidobject detection field along the operative scanning range of said scanfield, said determination involving the use of a laser beam produced bya laser beam source disposed within said housing; and (c) in automaticresponse to the determination of said code symbol in said objectdetection field during step (b), producing scan data from said detectedcode symbol using said laser beam, and collecting said produced scandata.
 39. The method of claim 38, which further comprises:(d) processingsaid scan data collected during step (c) in order to decode said codesymbol, and upon decoding said bar code symbol, producing symbolcharacter data corresponding to said decoded code symbol.